diff --git a/docs/API.md b/docs/API.md index e13f5d0d3..7e5a85e50 100644 --- a/docs/API.md +++ b/docs/API.md @@ -285,7 +285,7 @@ The per-device automation rows follow it too: an `AvailableComponentInstance` (` `bus_constraints` ships on both the index entry and the body, present only when non-empty (72 of ~970 components). Keyed by bus id (`i2c` / `spi` / `uart`, or a typed hub such as `modbus`), it carries the requirements the component's `final_validate_device_schema` imposes on the bus it attaches to: `require_tx` / `require_rx` mark pins the component claims (ESPHome allows at most one claimant per pin per uart bus), scalars like `baud_rate` / `data_bits` / `parity` / `stop_bits` are exact-match settings, a list is a choice set (first = default), and `min_frequency` / `max_frequency` are range bounds. The frontend uses the body copy to pre-fill a dependency-added bus and the index copies to judge whether an existing bus can host a component being added without hydrating every configured component's body. -`provides_id_paths` is a sibling field on the same index entry, present only when a provided interface's id is *nested* rather than the component's own top-level `id`. It maps an interface namespace to the YAML key-paths the frontend descends to collect candidate ids; `usb_uart` exposes `uart` at `{"uart": [["channels", "id"]]}`, and a component declaring one interface at several nested locations (`sprinkler` switches) lists every path. Absent for own-id providers, whose ids resolve through the section id directly. A same-domain provider may additionally list the root path `["id"]` when the component's own id is itself an entity (`sensor.pulse_counter`), so hybrid platforms keep their root entity offerable alongside the nested ones. +`provides_id_paths` is a sibling field on the same index entry, present only when a provided interface's id is *nested* rather than the component's own top-level `id`. It maps an interface namespace to the YAML key-paths the frontend descends to collect candidate ids; `usb_uart` exposes `uart` at `{"uart": [["channels", "id"]]}`, a component declaring one interface at several nested locations (`sprinkler` switches) lists every path, and a path reaches ids a platform inherits from a shared base (`sensor.bme280_i2c`'s `temperature` / `pressure` / `humidity` live on `bme280_base`). The paths are enumerated, so a self-referential schema is listed one level deep: `lvgl` offers a widget at `widgets[]` but not one nested inside another widget's `widgets[]`. Absent for own-id providers, whose ids resolve through the section id directly. A same-domain provider may additionally list the root path `["id"]` when the component's own id is itself an entity (`sensor.pulse_counter`), so hybrid platforms keep their root entity offerable alongside the nested ones. `references_class` on a reference `ConfigEntry` names the C++ class the referenced id must inherit (`output::FloatOutput`). It is present only when some candidate of `references_component` fails it, so most references carry none. The matching declarer side ships on both the index entry and the body: `id_classes` lists the classes declared at the component's root (its own `id`, plus any generated sibling id such as a light's `output_id`), and `id_classes_by_variant` does the same per variant of a typed hub whose variants declare different classes (`modbus`: `{"role": {"client": [...], "server": [...]}}`); on such a hub `id_classes` is the default variant's, what a block with no discriminator declares; a hub whose discriminator is required (`output.template`) has no default and ships `id_classes_by_variant` alone. Both are emitted only on a declarer some reference rejects (a binary only `gpio` output for a light that needs a float output). A reference no offered declarer can satisfy is left unfiltered, since the bundle then cannot name its real candidates (`i2c` picks its id class in a function). The frontend drops a picker candidate only when its classes are known and lack the required one; an unannotated declarer always stays offered. `id_classes` describes only the component's own section `id`; a candidate reached through `provides_id_paths` (a `shelly_dimmer` light's `power` sensor) is never judged by it. An automation's `references_class` is kept only for a class the component catalog kept, so a class only automations reference never filters. A dependent that needs one non-default variant of a typed hub also gets it in `bus_constraints` (`hoermann_hcp`: `{"modbus": {"role": "server"}}`), so a dependency-added hub is created with that variant. diff --git a/esphome_device_builder/definitions/automations/actions/sensor.template.publish.json b/esphome_device_builder/definitions/automations/actions/sensor.template.publish.json index 8e57e619b..259eae885 100644 --- a/esphome_device_builder/definitions/automations/actions/sensor.template.publish.json +++ b/esphome_device_builder/definitions/automations/actions/sensor.template.publish.json @@ -1 +1 @@ -{"id":"sensor.template.publish","name":"Sensor.Template → Publish","description":"You can also publish a state to a template sensor from elsewhere in your YAML file with the `sensor.template.publish` action.","docs_url":"https://esphome.io/automations/actions","domain":"sensor.template","config_entries":[{"key":"id","type":"id","label":"ID","description":"The ID of the template sensor.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/template#in-some-trigger"},{"key":"state","type":"float","label":"State","description":"The state to publish.","required":true,"display_format":null,"templatable":true,"help_link":"https://esphome.io/components/sensor/template#in-some-trigger"}],"is_control_flow":false,"has_else_branch":false,"has_condition_gate":false,"accepts_action_list":[],"scalar_shorthand_key":null} +{"id":"sensor.template.publish","name":"Sensor.Template → Publish","description":"You can also publish a state to a template sensor from elsewhere in your YAML file with the `sensor.template.publish` action.","docs_url":"https://esphome.io/automations/actions","domain":"sensor.template","config_entries":[{"key":"id","type":"id","label":"ID","description":"The ID of the template sensor.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/template#in-some-trigger"},{"key":"state","type":"float","label":"State","description":"The state to publish.","required":true,"display_format":null,"templatable":true,"help_link":"https://esphome.io/components/sensor/template#in-some-trigger"}],"is_control_flow":false,"has_else_branch":false,"has_condition_gate":false,"accepts_action_list":[],"scalar_shorthand_key":null} diff --git a/esphome_device_builder/definitions/automations/conditions/sensor.in_range.json b/esphome_device_builder/definitions/automations/conditions/sensor.in_range.json index f2c7a0844..32bf94dd9 100644 --- a/esphome_device_builder/definitions/automations/conditions/sensor.in_range.json +++ b/esphome_device_builder/definitions/automations/conditions/sensor.in_range.json @@ -1 +1 @@ -{"id":"sensor.in_range","name":"Sensor → In Range","description":"This condition passes if the state of the given sensor is inside a range.","docs_url":"https://esphome.io/automations/actions","domain":"sensor","config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"above","type":"float","label":"Above","description":"**Required — set at least one of:** `above`, `below`.\n\nThe minimum for the condition.","display_format":null,"help_link":"https://esphome.io/components/sensor#in-a-trigger"},{"key":"below","type":"float","label":"Below","description":"**Required — set at least one of:** `above`, `below`.\n\nThe maximum for the condition.","display_format":null,"help_link":"https://esphome.io/components/sensor#in-a-trigger"}],"accepts_condition_list":false,"scalar_shorthand_key":null,"required_groups":[{"kind":"at_least_one","keys":["above","below"]}]} +{"id":"sensor.in_range","name":"Sensor → In Range","description":"This condition passes if the state of the given sensor is inside a range.","docs_url":"https://esphome.io/automations/actions","domain":"sensor","config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"sensor"},{"key":"above","type":"float","label":"Above","description":"**Required — set at least one of:** `above`, `below`.\n\nThe minimum for the condition.","display_format":null,"help_link":"https://esphome.io/components/sensor#in-a-trigger"},{"key":"below","type":"float","label":"Below","description":"**Required — set at least one of:** `above`, `below`.\n\nThe maximum for the condition.","display_format":null,"help_link":"https://esphome.io/components/sensor#in-a-trigger"}],"accepts_condition_list":false,"scalar_shorthand_key":null,"required_groups":[{"kind":"at_least_one","keys":["above","below"]}]} diff --git a/esphome_device_builder/definitions/components.index.json b/esphome_device_builder/definitions/components.index.json index 668313742..bee25ec8c 100644 --- a/esphome_device_builder/definitions/components.index.json +++ b/esphome_device_builder/definitions/components.index.json @@ -10,9 +10,9 @@ {"category":"misc","dependencies":["spi"],"description":"The ADC128S102 is a low-power, eight-channel CMOS 12-bit analog-to-digital converter specified for conversion throughput rates of 500 ksps to 1 MSPS. The converter is based on a successive-approximation register architecture with an internal track-and-hold circuit.","docs_url":"https://esphome.io/components/sensor/adc128s102","id":"adc128s102","image_url":"https://esphome.io/images/adc128s102.png","multi_conf":true,"name":"ADC128S102 8-Channel 12-Bit A/D Converter"}, {"category":"sensor","dependencies":["adc128s102"],"description":"The `adc128s102` sensor allows you to use your ADC128S102 12-Bit A/D Converter sensors with ESPHome. First, setup a [ADC128S102 Hub](https://esphome.io/components/sensor/adc128s102#adc128s102-component) for your ADC128S102 sensor and then use this sensor platform to create individual sensors that will report the voltage to Home Assistant.","docs_url":"https://esphome.io/components/sensor/adc128s102","id":"sensor.adc128s102","image_url":"https://esphome.io/images/adc128s102.png","multi_conf":true,"name":"ADC128S102 8-Channel 12-Bit A/D Converter","provides":["voltage_sampler"]}, {"category":"display","description":"The `addressable_light` display platform allows to display text and graphics on an addressable light that has been arranged in a display matrix.","docs_url":"https://esphome.io/components/display/addressable_light","id":"display.addressable_light","image_url":"https://esphome.io/images/addressable_light.jpg","multi_conf":true,"name":"Addressable Light"}, -{"category":"sensor","dependencies":["i2c"],"description":"The `ade7880` sensor platform allows you to use ADE7880 voltage/current/power sensors ([datasheet](https://www.analog.com/media/en/technical-documentation/data-sheets/ADE7880.pdf)) with ESPHome. This sensor chip is commonly found in Shelly 3EM and 3EM Pro devices.","docs_url":"https://esphome.io/components/sensor/ade7880","id":"sensor.ade7880","image_url":"https://esphome.io/images/ade7880.svg","multi_conf":true,"name":"ADE7880 Power Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["neutral","current","id"]]}}, -{"category":"sensor","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/sensor/ade7953","id":"sensor.ade7953_i2c","id_classes":["ade7953_base::ADE7953","ade7953_i2c::AdE7953I2c","i2c::I2CDevice"],"multi_conf":true,"name":"ADE7953 Power Sensor"}, -{"category":"sensor","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/sensor/ade7953","id":"sensor.ade7953_spi","id_classes":["ade7953_base::ADE7953","ade7953_spi::AdE7953Spi","spi::SPIDevice"],"multi_conf":true,"name":"Ade7953 SPI"}, +{"category":"sensor","dependencies":["i2c"],"description":"The `ade7880` sensor platform allows you to use ADE7880 voltage/current/power sensors ([datasheet](https://www.analog.com/media/en/technical-documentation/data-sheets/ADE7880.pdf)) with ESPHome. This sensor chip is commonly found in Shelly 3EM and 3EM Pro devices.","docs_url":"https://esphome.io/components/sensor/ade7880","id":"sensor.ade7880","image_url":"https://esphome.io/images/ade7880.svg","multi_conf":true,"name":"ADE7880 Power Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["neutral","current","id"],["phase_a","active_power","id"],["phase_a","apparent_power","id"],["phase_a","current","id"],["phase_a","forward_active_energy","id"],["phase_a","power_factor","id"],["phase_a","reverse_active_energy","id"],["phase_a","voltage","id"],["phase_b","active_power","id"],["phase_b","apparent_power","id"],["phase_b","current","id"],["phase_b","forward_active_energy","id"],["phase_b","power_factor","id"],["phase_b","reverse_active_energy","id"],["phase_b","voltage","id"],["phase_c","active_power","id"],["phase_c","apparent_power","id"],["phase_c","current","id"],["phase_c","forward_active_energy","id"],["phase_c","power_factor","id"],["phase_c","reverse_active_energy","id"],["phase_c","voltage","id"]]}}, +{"category":"sensor","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/sensor/ade7953","id":"sensor.ade7953_i2c","multi_conf":true,"name":"ADE7953 Power Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["active_power_a","id"],["active_power_b","id"],["apparent_power_a","id"],["apparent_power_b","id"],["current_a","id"],["current_b","id"],["frequency","id"],["power_factor_a","id"],["power_factor_b","id"],["reactive_power_a","id"],["reactive_power_b","id"],["voltage","id"]]}}, +{"category":"sensor","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/sensor/ade7953","id":"sensor.ade7953_spi","multi_conf":true,"name":"Ade7953 SPI","provides":["sensor"],"provides_id_paths":{"sensor":[["active_power_a","id"],["active_power_b","id"],["apparent_power_a","id"],["apparent_power_b","id"],["current_a","id"],["current_b","id"],["frequency","id"],["power_factor_a","id"],["power_factor_b","id"],["reactive_power_a","id"],["reactive_power_b","id"],["voltage","id"]]}}, {"category":"misc","dependencies":["i2c"],"description":"The `ads1115` domain creates a global hub so that you can later create individual sensors using the [ADS1115 Sensor Platform](https://esphome.io/components/sensor/ads1115#sensor). To use this hub, first setup the [I²C Bus](https://esphome.io/components/i2c) and connect the sensor to the pins specified there.","docs_url":"https://esphome.io/components/sensor/ads1115","id":"ads1115","image_url":"https://esphome.io/images/ads1115.jpg","multi_conf":true,"name":"ADS1115 4-Channel 16-Bit A/D Converter"}, {"category":"sensor","dependencies":["ads1115"],"description":"The `ads1115` sensor allows you to use your ADS1115 sigma-delta ADC sensors ([datasheet](http://www.ti.com/lit/ds/symlink/ads1115.pdf), `Adafruit_ADS1115`*) or your ADS1015 sigma-delta ADC sensors ([datasheet](http://www.ti.com/lit/ds/symlink/ads1015.pdf), `Adafruit_ADS1015`*) with ESPHome. First, setup an [ADS1115 Hub](https://esphome.io/components/sensor/ads1115#ads1115-component) for your ADS1115 sensor and then use this sensor platform to create individual sensors that will report the voltage to Home Assistant.","docs_url":"https://esphome.io/components/sensor/ads1115","id":"sensor.ads1115","image_url":"https://esphome.io/images/ads1115.jpg","multi_conf":true,"name":"ADS1115 4-Channel 16-Bit A/D Converter","provides":["voltage_sampler"]}, {"category":"misc","dependencies":["spi"],"description":"ADS1118 4-Channel 16-Bit A/D Converter ([datasheet](https://www.ti.com/lit/ds/symlink/ads1118.pdf)) The `ads1118` domain creates a global hub so that you can later create individual sensors using the [ADS1118 Sensor Platform](https://esphome.io/components/sensor/ads1118#sensor). It uses the [SPI Bus](https://esphome.io/components/spi) for communication.","docs_url":"https://esphome.io/components/sensor/ads1118","id":"ads1118","image_url":"https://esphome.io/images/ads1118.jpg","multi_conf":true,"name":"ADS1118 4-Channel 16-Bit A/D Converter with Internal Temperature Sensor"}, @@ -21,8 +21,8 @@ {"category":"sensor","dependencies":["i2c"],"description":"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)) or AHT30 ([datasheet](https://eleparts.co.kr/data/goods_attach/202306/good-pdf-12751003-1.pdf)) [I²C](https://esphome.io/components/i2c)-based sensor with ESPHome.","docs_url":"https://esphome.io/components/sensor/aht10","id":"sensor.aht10","image_url":"https://esphome.io/images/aht10.jpg","multi_conf":true,"name":"AHT10 Temperature+Humidity Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["humidity","id"],["temperature","id"]]}}, {"category":"audio_dac","dependencies":["i2c"],"description":"The `aic3204` platform allows your ESPHome devices to use the AIC3204 ultra low power stereo audio codec (DAC). This allows the playback of audio via the microcontroller from a range of sources via [Media Player](https://esphome.io/components/media_player/).","docs_url":"https://esphome.io/components/audio_dac/aic3204","id":"audio_dac.aic3204","image_url":"https://esphome.io/images/aic3204.svg","multi_conf":true,"name":"AIC3204","provides":["aic3204"]}, {"category":"misc","description":"The `airthings_wave_plus` and `airthings_wave_mini` sensor platforms lets you track the output of AirThings Bluetooth Low Energy devices.","docs_url":"https://esphome.io/components/sensor/airthings_ble","id":"airthings_ble","image_url":"https://esphome.io/images/airthings_logo.png","name":"AirThings BLE Sensors"}, -{"category":"sensor","dependencies":["ble_client"],"description":"","docs_url":"https://esphome.io/components/sensor/airthings_ble#airthings-wave-mini-sensor","id":"sensor.airthings_wave_mini","id_classes":["airthings_wave_base::AirthingsWaveBase","airthings_wave_mini::AirthingsWaveMini","ble_client::BLEClientNode"],"multi_conf":true,"name":"Airthings Wave Mini","supported_platforms":["esp32"]}, -{"category":"sensor","dependencies":["ble_client"],"description":"","docs_url":"https://esphome.io/components/sensor/airthings_ble#configuration-example","id":"sensor.airthings_wave_plus","multi_conf":true,"name":"Airthings Wave Plus","provides":["sensor"],"provides_id_paths":{"sensor":[["co2","id"],["illuminance","id"],["radon","id"],["radon_long_term","id"]]},"supported_platforms":["esp32"]}, +{"category":"sensor","dependencies":["ble_client"],"description":"","docs_url":"https://esphome.io/components/sensor/airthings_ble#airthings-wave-mini-sensor","id":"sensor.airthings_wave_mini","multi_conf":true,"name":"Airthings Wave Mini","provides":["sensor"],"provides_id_paths":{"sensor":[["battery_voltage","id"],["humidity","id"],["pressure","id"],["temperature","id"],["tvoc","id"]]},"supported_platforms":["esp32"]}, +{"category":"sensor","dependencies":["ble_client"],"description":"","docs_url":"https://esphome.io/components/sensor/airthings_ble#configuration-example","id":"sensor.airthings_wave_plus","multi_conf":true,"name":"Airthings Wave Plus","provides":["sensor"],"provides_id_paths":{"sensor":[["battery_voltage","id"],["co2","id"],["humidity","id"],["illuminance","id"],["pressure","id"],["radon","id"],["radon_long_term","id"],["temperature","id"],["tvoc","id"]]},"supported_platforms":["esp32"]}, {"category":"sensor","description":"The `alpha3` component allows you to monitor a Grundfos Alpha3 Model B circulator pump over BLE.","docs_url":"https://esphome.io/components/sensor/alpha3","id":"sensor.alpha3","image_url":"https://esphome.io/images/alpha3.jpg","multi_conf":true,"name":"Grundfos Alpha3","provides":["sensor"],"provides_id_paths":{"sensor":[["current","id"],["flow","id"],["head","id"],["power","id"],["speed","id"],["voltage","id"]]}}, {"category":"sensor","dependencies":["i2c"],"description":"The `am2315c` Temperature+Humidity sensor allows you to use your AM2315C ([datasheet](https://cdn-shop.adafruit.com/product-files/5182/5182_AM2315C.pdf)) I²C-based sensor with ESPHome.","docs_url":"https://esphome.io/components/sensor/am2315c","id":"sensor.am2315c","image_url":"https://esphome.io/images/am2315c.jpg","multi_conf":true,"name":"AM2315C Temperature+Humidity Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["humidity","id"],["temperature","id"]]}}, {"category":"sensor","dependencies":["i2c"],"description":"The `am2320` Temperature+Humidity sensor allows you to use your AM2320 ([datasheet](https://cdn-shop.adafruit.com/product-files/3721/AM2320.pdf)) I²C-based sensor with ESPHome.","docs_url":"https://esphome.io/components/sensor/am2320","id":"sensor.am2320","image_url":"https://esphome.io/images/am2320.jpg","multi_conf":true,"name":"AM2320 Temperature+Humidity Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["humidity","id"],["temperature","id"]]}}, @@ -52,7 +52,7 @@ {"category":"sensor","dependencies":["spi"],"description":"The `atm90e26` sensor platform allows you to use your ATM90E26 voltage/current and power sensors ([datasheet](https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-46002-SE-M90E26-Datasheet.pdf)) with ESPHome. This sensor is found in the [DitroniX GTEM ESP32](https://ditronix.net/wiki/gtem-esp32-atm90e26-sdk-v1-specification/) energy meter and other devices.","docs_url":"https://esphome.io/components/sensor/atm90e26","id":"sensor.atm90e26","image_url":"https://esphome.io/images/atm90e26.jpg","multi_conf":true,"name":"ATM90E26 Power Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["current","id"],["forward_active_energy","id"],["frequency","id"],["power","id"],["power_factor","id"],["reactive_power","id"],["reverse_active_energy","id"],["voltage","id"]]}}, {"category":"button","dependencies":["atm90e32"],"description":"ATM90E32 energy metering sensors","docs_url":"https://esphome.io/components/sensor/atm90e32","id":"button.atm90e32","image_url":"https://esphome.io/images/atm90e32.jpg","multi_conf":true,"name":"ATM90E32 Power Sensor","provides":["button"],"provides_id_paths":{"button":[["clear_gain_calibration","id"],["clear_offset_calibration","id"],["clear_power_offset_calibration","id"],["run_gain_calibration","id"],["run_offset_calibration","id"],["run_power_offset_calibration","id"]]}}, {"category":"number","dependencies":["atm90e32"],"description":"`number` entities can be configured to provide calibration voltage & current reference values at runtime.","docs_url":"https://esphome.io/components/sensor/atm90e32","id":"number.atm90e32","image_url":"https://esphome.io/images/atm90e32.jpg","multi_conf":true,"name":"ATM90E32 Power Sensor","provides":["number"],"provides_id_paths":{"number":[["reference_current","phase_a","id"],["reference_current","phase_b","id"],["reference_current","phase_c","id"],["reference_voltage","phase_a","id"],["reference_voltage","phase_b","id"],["reference_voltage","phase_c","id"]]}}, -{"category":"sensor","dependencies":["spi"],"description":"The `atm90e32` sensor platform allows you to use your ATM90E32 voltage/current and power sensors ([datasheet](http://ww1.microchip.com/downloads/en/devicedoc/Atmel-46003-SE-M90E32AS-Datasheet.pdf)) with ESPHome. This sensor is commonly found in CircuitSetup 2 and 6 channel energy meters and the [Gelidus Research](https://www.gelidus.ca/) 2 channel power meter.","docs_url":"https://esphome.io/components/sensor/atm90e32","id":"sensor.atm90e32","image_url":"https://esphome.io/images/atm90e32.jpg","multi_conf":true,"name":"ATM90E32 Power Sensor","provides":["atm90e32","sensor"],"provides_id_paths":{"sensor":[["chip_temperature","id"],["frequency","id"]]}}, +{"category":"sensor","dependencies":["spi"],"description":"The `atm90e32` sensor platform allows you to use your ATM90E32 voltage/current and power sensors ([datasheet](http://ww1.microchip.com/downloads/en/devicedoc/Atmel-46003-SE-M90E32AS-Datasheet.pdf)) with ESPHome. This sensor is commonly found in CircuitSetup 2 and 6 channel energy meters and the [Gelidus Research](https://www.gelidus.ca/) 2 channel power meter.","docs_url":"https://esphome.io/components/sensor/atm90e32","id":"sensor.atm90e32","image_url":"https://esphome.io/images/atm90e32.jpg","multi_conf":true,"name":"ATM90E32 Power Sensor","provides":["atm90e32","sensor"],"provides_id_paths":{"sensor":[["chip_temperature","id"],["frequency","id"],["phase_a","apparent_power","id"],["phase_a","current","id"],["phase_a","forward_active_energy","id"],["phase_a","harmonic_power","id"],["phase_a","peak_current","id"],["phase_a","phase_angle","id"],["phase_a","power","id"],["phase_a","power_factor","id"],["phase_a","reactive_power","id"],["phase_a","reverse_active_energy","id"],["phase_a","voltage","id"],["phase_b","apparent_power","id"],["phase_b","current","id"],["phase_b","forward_active_energy","id"],["phase_b","harmonic_power","id"],["phase_b","peak_current","id"],["phase_b","phase_angle","id"],["phase_b","power","id"],["phase_b","power_factor","id"],["phase_b","reactive_power","id"],["phase_b","reverse_active_energy","id"],["phase_b","voltage","id"],["phase_c","apparent_power","id"],["phase_c","current","id"],["phase_c","forward_active_energy","id"],["phase_c","harmonic_power","id"],["phase_c","peak_current","id"],["phase_c","phase_angle","id"],["phase_c","power","id"],["phase_c","power_factor","id"],["phase_c","reactive_power","id"],["phase_c","reverse_active_energy","id"],["phase_c","voltage","id"]]}}, {"category":"text_sensor","dependencies":["atm90e32"],"description":"ATM90E32 energy metering sensors","docs_url":"https://esphome.io/components/sensor/atm90e32","id":"text_sensor.atm90e32","image_url":"https://esphome.io/images/atm90e32.jpg","multi_conf":true,"name":"ATM90E32 Power Sensor","provides":["text_sensor"],"provides_id_paths":{"text_sensor":[["frequency_status","id"],["phase_status","phase_a","id"],["phase_status","phase_b","id"],["phase_status","phase_c","id"]]}}, {"category":"misc","dependencies":["esp32"],"description":"This component only works on ESP32 based chips.","docs_url":"https://esphome.io/components/audio","id":"audio","image_url":"https://esphome.io/images/music.svg","name":"Audio Codec Configuration","supported_platforms":["esp32"]}, {"category":"misc","dependencies":["esp32"],"description":"","docs_url":"https://esphome.io/components/audio_file","id":"audio_file","name":"Audio File","supported_platforms":["esp32"]}, @@ -92,8 +92,8 @@ {"category":"text_sensor","description":"The `ble_scanner` text sensor platform lets you track reachable BLE devices.","docs_url":"https://esphome.io/components/text_sensor/ble_scanner","id":"text_sensor.ble_scanner","image_url":"https://esphome.io/images/bluetooth.svg","multi_conf":true,"name":"Bluetooth Low Energy Scanner"}, {"category":"misc","dependencies":["api"],"description":"Home Assistant can expand its Bluetooth reach by communicating through the Bluetooth proxy component in ESPHome. The individual device integrations in Home Assistant (such as BTHome) will receive the data from the Bluetooth Integration in Home Assistant which automatically aggregates all ESPHome Bluetooth proxies with any USB Bluetooth Adapters you might have. This exceptional feature offers fault tolerant connection between the Bluetooth devices and Home Assistant.","docs_url":"https://esphome.io/components/bluetooth_proxy","id":"bluetooth_proxy","image_url":"https://esphome.io/images/bluetooth.svg","name":"Bluetooth Proxy","supported_platforms":["bk72xx","esp32","ln882x","rp2"]}, {"category":"time","dependencies":["i2c"],"description":"You first need to set up the [I2C](https://esphome.io/components/i2c/) component.","docs_url":"https://esphome.io/components/time/bm8563","id":"time.bm8563","image_url":"https://esphome.io/images/bm8563.svg","multi_conf":true,"name":"BM8563 Time Source","provides":["bm8563"]}, -{"category":"sensor","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/sensor/bme280","id":"sensor.bme280_i2c","id_classes":["bme280_i2c::BME280I2CComponent","i2c::I2CDevice"],"multi_conf":true,"name":"Bme280 I²C"}, -{"category":"sensor","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/sensor/bme280","id":"sensor.bme280_spi","id_classes":["bme280_spi::BME280SPIComponent","spi::SPIDevice"],"multi_conf":true,"name":"Bme280 SPI"}, +{"category":"sensor","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/sensor/bme280","id":"sensor.bme280_i2c","multi_conf":true,"name":"Bme280 I²C","provides":["sensor"],"provides_id_paths":{"sensor":[["humidity","id"],["pressure","id"],["temperature","id"]]}}, +{"category":"sensor","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/sensor/bme280","id":"sensor.bme280_spi","multi_conf":true,"name":"Bme280 SPI","provides":["sensor"],"provides_id_paths":{"sensor":[["humidity","id"],["pressure","id"],["temperature","id"]]}}, {"category":"sensor","dependencies":["i2c"],"description":"The `bme680` sensor platform allows you to use your BME680 ([datasheet](https://cdn-shop.adafruit.com/product-files/3660/BME680.pdf), [Adafruit](https://www.adafruit.com/product/3660)) temperature, pressure and humidity sensors with ESPHome. The [I²C](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work.","docs_url":"https://esphome.io/components/sensor/bme680","id":"sensor.bme680","image_url":"https://esphome.io/images/bme680.jpg","multi_conf":true,"name":"BME680 Temperature+Pressure+Humidity+Gas Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["gas_resistance","id"],["humidity","id"],["pressure","id"],["temperature","id"]]}}, {"category":"misc","dependencies":["i2c"],"description":"The `bme680_bsec` sensor platform allows you to use your BME680 ([datasheet](https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bme680-ds001.pdf), [Adafruit](https://www.adafruit.com/product/3660), [Pimoroni](https://shop.pimoroni.com/products/bme680-breakout)) temperature, pressure and humidity and gas sensors with ESPHome via the Bosch Sensortec Environmental Cluster (BSEC) software library. The use of Bosch's proprietary algorithms provide an Index for Air Quality (IAQ) measurement derived from the gas resistance sensor's response to specific Volatile Organic Compounds (VOC). The BSEC software also provides estimated values for CO₂ and Breath Volatile Organic Compounds (b-VOC) using a correlation between VOC and CO₂ in a human's exhaled breath.","docs_url":"https://esphome.io/components/sensor/bme680_bsec","id":"bme680_bsec","image_url":"https://esphome.io/images/bme680.jpg","multi_conf":true,"name":"BME680 Temperature+Pressure+Humidity+Gas Sensor via BSEC"}, {"category":"sensor","dependencies":["bme680_bsec"],"description":"Configuration variables:","docs_url":"https://esphome.io/components/sensor/bme680_bsec","id":"sensor.bme680_bsec","image_url":"https://esphome.io/images/bme680.jpg","multi_conf":true,"name":"BME680 Temperature+Pressure+Humidity+Gas Sensor via BSEC","provides":["sensor"],"provides_id_paths":{"sensor":[["breath_voc_equivalent","id"],["co2_equivalent","id"],["gas_resistance","id"],["humidity","id"],["iaq","id"],["iaq_accuracy","id"],["pressure","id"],["temperature","id"]]}}, @@ -105,12 +105,12 @@ {"category":"motion","dependencies":["i2c"],"description":"The `bmi270` motion platform allows you to use your BMI270 Accelerometer/Gyroscope ([datasheet](https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bmi270-ds000.pdf)) sensors with ESPHome. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work.","docs_url":"https://esphome.io/components/motion/bmi270","id":"motion.bmi270","image_url":"https://esphome.io/images/imu.svg","multi_conf":true,"name":"BMI270 Accelerometer/Gyroscope Sensor","provides":["bmi270"]}, {"category":"sensor","dependencies":["bmi270"],"description":"The `bmi270` sensor platform provides access to the temperature sensor in a BMI270 Accelerometer/Gyroscope ([datasheet](https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bmi270-ds000.pdf)) with ESPHome. It requires a [`motion`](https://esphome.io/components/motion) component to be configured with the `bmi270` platform, which handles the accelerometer and gyroscope data processing and configures the device. See that component for more information.","docs_url":"https://esphome.io/components/sensor/bmi270","id":"sensor.bmi270","image_url":"https://esphome.io/images/imu.svg","multi_conf":true,"name":"BMI270 Temperature Sensor"}, {"category":"sensor","dependencies":["i2c"],"description":"The BMP085 sensor platform allows you to use your BMP085 ([datasheet](https://www.sparkfun.com/datasheets/Components/General/BST-BMP085-DS000-05.pdf), [Adafruit](https://www.adafruit.com/product/391)) and BMP180 ([datasheet](https://cdn-shop.adafruit.com/datasheets/BST-BMP180-DS000-09.pdf), [Adafruit](https://www.adafruit.com/product/1603)) temperature and pressure sensors with ESPHome. The [I²C](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work.","docs_url":"https://esphome.io/components/sensor/bmp085","id":"sensor.bmp085","image_url":"https://esphome.io/images/bmp180.jpg","multi_conf":true,"name":"BMP085 Temperature+Pressure Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["pressure","id"],["temperature","id"]]}}, -{"category":"sensor","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/sensor/bmp280","id":"sensor.bmp280_i2c","id_classes":["bmp280_i2c::BMP280I2CComponent","i2c::I2CDevice"],"multi_conf":true,"name":"Bmp280 I²C"}, -{"category":"sensor","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/sensor/bmp280","id":"sensor.bmp280_spi","id_classes":["bmp280_spi::BMP280SPIComponent","spi::SPIDevice"],"multi_conf":true,"name":"Bmp280 SPI"}, -{"category":"sensor","dependencies":["i2c"],"description":"The `bmp3xx_i2c` component allows you to use the device over [I²C](https://esphome.io/components/i2c) interface.","docs_url":"https://esphome.io/components/sensor/bmp3xx","id":"sensor.bmp3xx_i2c","id_classes":["bmp3xx_i2c::BMP3XXI2CComponent","i2c::I2CDevice"],"multi_conf":true,"name":"BMP388 / BMP390 Temperature+Pressure Sensor"}, -{"category":"sensor","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/sensor/bmp3xx","id":"sensor.bmp3xx_spi","id_classes":["bmp3xx_spi::BMP3XXSPIComponent","spi::SPIDevice"],"multi_conf":true,"name":"Bmp3Xx SPI"}, -{"category":"sensor","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/sensor/bmp581","id":"sensor.bmp581_i2c","id_classes":["bmp581_i2c::BMP581I2CComponent","i2c::I2CDevice"],"multi_conf":true,"name":"BMP581 Temperature+Pressure Sensor"}, -{"category":"sensor","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/sensor/bmp581","id":"sensor.bmp581_spi","id_classes":["bmp581_spi::BMP581SPIComponent","spi::SPIDevice"],"multi_conf":true,"name":"BMP581 Temperature+Pressure Sensor"}, +{"category":"sensor","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/sensor/bmp280","id":"sensor.bmp280_i2c","multi_conf":true,"name":"Bmp280 I²C","provides":["sensor"],"provides_id_paths":{"sensor":[["pressure","id"],["temperature","id"]]}}, +{"category":"sensor","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/sensor/bmp280","id":"sensor.bmp280_spi","multi_conf":true,"name":"Bmp280 SPI","provides":["sensor"],"provides_id_paths":{"sensor":[["pressure","id"],["temperature","id"]]}}, +{"category":"sensor","dependencies":["i2c"],"description":"The `bmp3xx_i2c` component allows you to use the device over [I²C](https://esphome.io/components/i2c) interface.","docs_url":"https://esphome.io/components/sensor/bmp3xx","id":"sensor.bmp3xx_i2c","multi_conf":true,"name":"BMP388 / BMP390 Temperature+Pressure Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["pressure","id"],["temperature","id"]]}}, +{"category":"sensor","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/sensor/bmp3xx","id":"sensor.bmp3xx_spi","multi_conf":true,"name":"Bmp3Xx SPI","provides":["sensor"],"provides_id_paths":{"sensor":[["pressure","id"],["temperature","id"]]}}, +{"category":"sensor","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/sensor/bmp581","id":"sensor.bmp581_i2c","multi_conf":true,"name":"BMP581 Temperature+Pressure Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["pressure","id"],["temperature","id"]]}}, +{"category":"sensor","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/sensor/bmp581","id":"sensor.bmp581_spi","multi_conf":true,"name":"BMP581 Temperature+Pressure Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["pressure","id"],["temperature","id"]]}}, {"category":"misc","description":"The BP1658CJ component represents a BP1658CJ LED driver chain in ESPHome. Communication is done with two GPIO pins (DATA and CLK).","docs_url":"https://esphome.io/components/output/bp1658cj","id":"bp1658cj","image_url":"https://esphome.io/images/bp1658cj.svg","multi_conf":true,"name":"BP1658CJ LED driver"}, {"category":"output","dependencies":["bp1658cj"],"description":"The BP1658CJ output component exposes a BP1658CJ channel of a global [Component/Hub](https://esphome.io/components/output/bp1658cj#bp1658cj-component) as a float output.","docs_url":"https://esphome.io/components/output/bp1658cj","id":"output.bp1658cj","image_url":"https://esphome.io/images/bp1658cj.svg","multi_conf":true,"name":"BP1658CJ LED driver"}, {"category":"misc","description":"The BP5758D component represents a BP5758D LED driver chain in ESPHome. Communication is done with two GPIO pins (DATA and CLK).","docs_url":"https://esphome.io/components/output/bp5758d","id":"bp5758d","image_url":"https://esphome.io/images/bp5758d.svg","multi_conf":true,"name":"BP5758D LED driver"}, @@ -207,8 +207,8 @@ {"category":"misc","dependencies":["uart"],"description":"The `emontx` component allows you to use ESPHome to create a connection to an OpenEnergyMonitor emonTX via a supported device (ESP32 recommended). This component is a global hub that establishes the connection to the EmonTx via [UART bus](https://esphome.io/components/uart) and translates the received data. Using the [emontx sensors](https://esphome.io/components/sensor/emontx#sensors), you can then create sensors for Home Assistant that track voltage, current, power as measured by CTs (up to 12), pulse data, and temperature depending on the configuration of the emonTX.","docs_url":"https://esphome.io/components/sensor/emontx","id":"emontx","image_url":"https://esphome.io/images/emontx5.jpg","name":"OpenEnergyMonitor EmonTx Sensors"}, {"category":"sensor","dependencies":["uart","emontx"],"description":"The `emontx` component allows you to use ESPHome to create a connection to an OpenEnergyMonitor emonTX via a supported device (ESP32 recommended). This component is a global hub that establishes the connection to the EmonTx via [UART bus](https://esphome.io/components/uart) and translates the received data. Using the [emontx sensors](https://esphome.io/components/sensor/emontx#sensors), you can then create sensors for Home Assistant that track voltage, current, power as measured by CTs (up to 12), pulse data, and temperature depending on the configuration of the emonTX.","docs_url":"https://esphome.io/components/sensor/emontx","id":"sensor.emontx","image_url":"https://esphome.io/images/emontx5.jpg","multi_conf":true,"name":"OpenEnergyMonitor EmonTx Sensors"}, {"category":"cover","description":"The `endstop` cover platform allows you to create covers with position control that have endstops at both ends of the cover to detect the fully-open and fully-closed states. When any of these endstops are reached, the cover is stopped (via `stop_action` ) and the corresponding state is sent out.","docs_url":"https://esphome.io/components/cover/endstop","id":"cover.endstop","image_url":"https://esphome.io/images/electric-switch.svg","multi_conf":true,"name":"Endstop Cover"}, -{"category":"sensor","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/sensor/ens160","id":"sensor.ens160_i2c","id_classes":["ens160_i2c::ENS160I2CComponent","i2c::I2CDevice"],"multi_conf":true,"name":"Ens160 I²C"}, -{"category":"sensor","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/sensor/ens160","id":"sensor.ens160_spi","id_classes":["ens160_spi::ENS160SPIComponent","spi::SPIDevice"],"multi_conf":true,"name":"Ens160 SPI"}, +{"category":"sensor","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/sensor/ens160","id":"sensor.ens160_i2c","multi_conf":true,"name":"Ens160 I²C","provides":["sensor"],"provides_id_paths":{"sensor":[["aqi","id"],["eco2","id"],["tvoc","id"]]}}, +{"category":"sensor","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/sensor/ens160","id":"sensor.ens160_spi","multi_conf":true,"name":"Ens160 SPI","provides":["sensor"],"provides_id_paths":{"sensor":[["aqi","id"],["eco2","id"],["tvoc","id"]]}}, {"category":"sensor","dependencies":["i2c"],"description":"The `ENS210` Temperature+Humidity sensor allows you to use your ENS210 ([datasheet](https://www.sciosense.com/wp-content/uploads/2023/12/ENS210-Datasheet.pdf)) i2c-based sensor with ESPHome.","docs_url":"https://esphome.io/components/sensor/ens210","id":"sensor.ens210","image_url":"https://esphome.io/images/ens210.jpg","multi_conf":true,"name":"ENS210 Temperature+Humidity Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["humidity","id"],["temperature","id"]]}}, {"category":"display","dependencies":["spi"],"description":"The `epaper_spi` display platform provides a new ePaper display component architecture with improved state management and non-blocking operation. This component implements a queue-based state machine that eliminates blocking waits for the busy pin and provides better integration with ESPHome's async architecture.","docs_url":"https://esphome.io/components/display/epaper_spi","id":"display.epaper_spi","image_url":"https://esphome.io/images/waveshare_epaper.jpg","multi_conf":true,"name":"ePaper SPI Display"}, {"category":"audio_adc","dependencies":["i2c"],"description":"The `es7210` platform allows your ESPHome devices to use the ES7210 high performance four channel audio ADC ([datasheet](http://www.everest-semi.com/pdf/ES7210%20PB.pdf)). This allows attached microphones to be used as a microphone input via [I2S Audio](https://esphome.io/components/microphone/i2s_audio/).","docs_url":"https://esphome.io/components/audio_adc/es7210","id":"audio_adc.es7210","image_url":"https://esphome.io/images/es7210.svg","multi_conf":true,"name":"ES7210"}, @@ -285,7 +285,7 @@ {"category":"switch","dependencies":["gree"],"description":"","docs_url":"https://esphome.io/components/climate/climate_ir#gree","id":"switch.gree","multi_conf":true,"name":"Gree","provides":["switch"],"provides_id_paths":{"switch":[["health","id"],["light","id"],["turbo","id"],["xfan","id"]]}}, {"category":"sensor","dependencies":["i2c"],"description":"The `grove_gas_mc_v2` sensor platform allows you to use your [Grove Multichannel GasSensor V2](https://wiki.seeedstudio.com/Grove-Multichannel-Gas-Sensor-V2) with ESPHome. It exposes 4 different gas sensors for qualitatively measuring Nitrogen Dioxide (NO2), Carbon Monoxide (CO), Ethanol (C2H5OH), and Volatile Organic Compounds (VOCs).","docs_url":"https://esphome.io/components/sensor/grove_gas_mc_v2","id":"sensor.grove_gas_mc_v2","image_url":"https://esphome.io/images/grove-gas-mc-v2.png","multi_conf":true,"name":"Grove Multichannel Gas Sensor V2","provides":["sensor"],"provides_id_paths":{"sensor":[["carbon_monoxide","id"],["ethanol","id"],["nitrogen_dioxide","id"],["tvoc","id"]]}}, {"category":"misc","dependencies":["i2c"],"description":"The Grove TBB6612FNG a runs over I²C bus and has the capability to control DC and Stepper motors. At the current stage of implementation only DC motor is implemented.","docs_url":"https://esphome.io/components/grove_tb6612fng","id":"grove_tb6612fng","image_url":"https://esphome.io/images/motor.png","multi_conf":true,"name":"Grove TB6612FNG Motor Drive"}, -{"category":"sensor","dependencies":["modbus","uart"],"description":"The `Growatt Inverter` sensor platform allows you to use growatt inverter data reading on modbus with ESPHome.","docs_url":"https://esphome.io/components/sensor/growatt_solar","id":"sensor.growatt_solar","image_url":"https://esphome.io/images/growatt.jpg","multi_conf":true,"name":"Growatt Solar","provides":["sensor"],"provides_id_paths":{"sensor":[["active_power","id"],["energy_production_day","id"],["frequency","id"],["inverter_module_temp","id"],["inverter_status","id"],["pv_active_power","id"],["total_energy_production","id"]]}}, +{"category":"sensor","dependencies":["modbus","uart"],"description":"The `Growatt Inverter` sensor platform allows you to use growatt inverter data reading on modbus with ESPHome.","docs_url":"https://esphome.io/components/sensor/growatt_solar","id":"sensor.growatt_solar","image_url":"https://esphome.io/images/growatt.jpg","multi_conf":true,"name":"Growatt Solar","provides":["sensor"],"provides_id_paths":{"sensor":[["active_power","id"],["energy_production_day","id"],["frequency","id"],["inverter_module_temp","id"],["inverter_status","id"],["phase_a","active_power","id"],["phase_a","current","id"],["phase_a","voltage","id"],["phase_b","active_power","id"],["phase_b","current","id"],["phase_b","voltage","id"],["phase_c","active_power","id"],["phase_c","current","id"],["phase_c","voltage","id"],["pv1","active_power","id"],["pv1","current","id"],["pv1","voltage","id"],["pv2","active_power","id"],["pv2","current","id"],["pv2","voltage","id"],["pv_active_power","id"],["total_energy_production","id"]]}}, {"category":"binary_sensor","dependencies":["gt911"],"description":"In addition to touch areas on the screen configured through the [Touchscreen](https://esphome.io/components/touchscreen#config-touchscreen) component, the gt911 supports up to four buttons located outside of the normal touchscreen area. On the ESP32-S3-BOX-3 the red circle below the display is such a button. A binary sensor can be configured to react to touching these buttons.","docs_url":"https://esphome.io/components/touchscreen/gt911","id":"binary_sensor.gt911","image_url":"https://esphome.io/images/esp32_s3_box_3.png","multi_conf":true,"name":"gt911 Touch Screen Controller"}, {"category":"touchscreen","dependencies":["i2c"],"description":"The `gt911` touchscreen platform allows using the touch screen controllers based on the gt911 chip with ESPHome. The [I²C](https://esphome.io/components/i2c) is required to be set up in your configuration for this touchscreen to work.","docs_url":"https://esphome.io/components/touchscreen/gt911","id":"touchscreen.gt911","image_url":"https://esphome.io/images/esp32_s3_box_3.png","multi_conf":true,"name":"gt911 Touch Screen Controller","provides":["gt911"]}, {"category":"binary_sensor","dependencies":["haier"],"description":"Additional sensors for Haier Climate device. **These sensors are supported only by the hOn protocol**.","docs_url":"https://esphome.io/components/binary_sensor/haier","id":"binary_sensor.haier","image_url":"https://esphome.io/images/haier.svg","multi_conf":true,"name":"Haier Climate Binary Sensors","provides":["binary_sensor"],"provides_id_paths":{"binary_sensor":[["compressor_status","id"],["defrost_status","id"],["four_way_valve_status","id"],["indoor_electric_heating_status","id"],["indoor_fan_status","id"],["outdoor_fan_status","id"]]}}, @@ -294,7 +294,7 @@ {"category":"sensor","dependencies":["haier"],"description":"Additional sensors for Haier Climate device. **These sensors are supported only by the hOn protocol**.","docs_url":"https://esphome.io/components/sensor/haier","id":"sensor.haier","image_url":"https://esphome.io/images/haier.svg","multi_conf":true,"name":"Haier Climate Sensors","provides":["sensor"],"provides_id_paths":{"sensor":[["compressor_current","id"],["compressor_frequency","id"],["expansion_valve_open_degree","id"],["humidity","id"],["indoor_coil_temperature","id"],["outdoor_coil_temperature","id"],["outdoor_defrost_temperature","id"],["outdoor_in_air_temperature","id"],["outdoor_out_air_temperature","id"],["outdoor_temperature","id"],["power","id"]]}}, {"category":"switch","dependencies":["haier"],"description":"Additional switches to support additional features for Haier AC.","docs_url":"https://esphome.io/components/switch/haier","id":"switch.haier","image_url":"https://esphome.io/images/haier.svg","multi_conf":true,"name":"Haier Climate Switches","provides":["switch"],"provides_id_paths":{"switch":[["beeper","id"],["display","id"],["health_mode","id"],["quiet_mode","id"]]}}, {"category":"text_sensor","dependencies":["haier"],"description":"Additional sensors for Haier Climate device. **These sensors are supported only by the hOn protocol**.","docs_url":"https://esphome.io/components/text_sensor/haier","id":"text_sensor.haier","image_url":"https://esphome.io/images/haier.svg","multi_conf":true,"name":"Haier Climate Text Sensors","provides":["text_sensor"],"provides_id_paths":{"text_sensor":[["appliance_name","id"],["cleaning_status","id"],["protocol_version","id"]]}}, -{"category":"sensor","dependencies":["modbus","uart"],"description":"The `Havells Inverter` sensor platform allows you to use Havells inverter data reading on modbus ([website](https://havells.com/business/discover-solar-solutions)) with ESPHome.","docs_url":"https://esphome.io/components/sensor/havells_solar","id":"sensor.havells_solar","image_url":"https://esphome.io/images/havellsgti5000d_s.jpg","multi_conf":true,"name":"Havells Solar","provides":["sensor"],"provides_id_paths":{"sensor":[["active_power","id"],["dci_of_r","id"],["dci_of_s","id"],["dci_of_t","id"],["energy_production_day","id"],["frequency","id"],["gfci_value","id"],["insulation_of_pv_n_to_ground","id"],["inverter_bus_voltage","id"],["inverter_inner_temp","id"],["inverter_module_temp","id"],["reactive_power","id"],["today_generation_time","id"],["total_energy_production","id"],["total_generation_time","id"]]}}, +{"category":"sensor","dependencies":["modbus","uart"],"description":"The `Havells Inverter` sensor platform allows you to use Havells inverter data reading on modbus ([website](https://havells.com/business/discover-solar-solutions)) with ESPHome.","docs_url":"https://esphome.io/components/sensor/havells_solar","id":"sensor.havells_solar","image_url":"https://esphome.io/images/havellsgti5000d_s.jpg","multi_conf":true,"name":"Havells Solar","provides":["sensor"],"provides_id_paths":{"sensor":[["active_power","id"],["dci_of_r","id"],["dci_of_s","id"],["dci_of_t","id"],["energy_production_day","id"],["frequency","id"],["gfci_value","id"],["insulation_of_pv_n_to_ground","id"],["inverter_bus_voltage","id"],["inverter_inner_temp","id"],["inverter_module_temp","id"],["phase_a","current","id"],["phase_a","voltage","id"],["phase_b","current","id"],["phase_b","voltage","id"],["phase_c","current","id"],["phase_c","voltage","id"],["pv1","active_power","id"],["pv1","current","id"],["pv1","insulation_of_p_to_ground","id"],["pv1","voltage","id"],["pv1","voltage_sampled_by_secondary_cpu","id"],["pv2","active_power","id"],["pv2","current","id"],["pv2","insulation_of_p_to_ground","id"],["pv2","voltage","id"],["pv2","voltage_sampled_by_secondary_cpu","id"],["reactive_power","id"],["today_generation_time","id"],["total_energy_production","id"],["total_generation_time","id"]]}}, {"category":"fan","description":"The `hbridge` fan platform allows you to use a compatible *h-bridge* (L298N, DRV8871, MX1508, BTS7960, L9110S, DRV8833, TB6612, etc.) to control a fan (or motor/solenoid).","docs_url":"https://esphome.io/components/fan/hbridge","id":"fan.hbridge","image_url":"https://esphome.io/images/fan.svg","multi_conf":true,"name":"H-bridge Fan","provides":["hbridge"]}, {"category":"light","description":"The `hbridge` light platform creates a dual color brightness controlled light from two [float output component](https://esphome.io/components/output/).","docs_url":"https://esphome.io/components/light/hbridge","id":"light.hbridge","id_classes":["hbridge::HBridgeLightOutput","light::LightOutput","light::LightState"],"image_url":"https://esphome.io/images/brightness-medium.svg","multi_conf":true,"name":"H-bridge Light"}, {"category":"switch","description":"The `hbridge` switch platform allows you to drive an *h-bridge* controlled latching relay.","docs_url":"https://esphome.io/components/switch/hbridge","id":"switch.hbridge","image_url":"https://esphome.io/images/hbridge-relay.jpg","multi_conf":true,"name":"H-bridge Switch"}, @@ -356,9 +356,9 @@ {"category":"sensor","dependencies":["i2c"],"description":"The `ina219` sensor platform allows you to use your INA219 High Side DC Current Sensor ([datasheet](https://cdn-learn.adafruit.com/downloads/pdf/adafruit-ina219-current-sensor-breakout.pdf), [Adafruit](https://www.adafruit.com/product/904)) sensors with ESPHome. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work.","docs_url":"https://esphome.io/components/sensor/ina219","id":"sensor.ina219","image_url":"https://esphome.io/images/ina219.jpg","multi_conf":true,"name":"INA219 DC Current Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["bus_voltage","id"],["current","id"],["power","id"],["shunt_voltage","id"]]}}, {"category":"sensor","dependencies":["i2c"],"description":"The `ina226` sensor platform allows you to use your INA226 DC Current and Power Sensor ([datasheet](http://www.ti.com/lit/ds/symlink/ina226.pdf), [eBay](https://www.ebay.com)) sensors with ESPHome. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work.","docs_url":"https://esphome.io/components/sensor/ina226","id":"sensor.ina226","image_url":"https://esphome.io/images/ina226.jpg","multi_conf":true,"name":"INA226 DC current and power sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["bus_voltage","id"],["current","id"],["power","id"],["shunt_voltage","id"]]}}, {"category":"sensor","dependencies":["i2c"],"description":"The `ina260` sensor platform allows you to use your INA260 DC Current and Power Sensor ([datasheet](https://www.ti.com/lit/ds/symlink/ina260.pdf), [Adafruit](https://www.adafruit.com/product/4226)) sensors with ESPHome. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work.","docs_url":"https://esphome.io/components/sensor/ina260","id":"sensor.ina260","image_url":"https://esphome.io/images/ina260.jpg","multi_conf":true,"name":"INA260 DC Current and Power sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["bus_voltage","id"],["current","id"],["power","id"]]}}, -{"category":"sensor","dependencies":["i2c"],"description":"Use `ina2xx_i2c` component to connect INA228, INA237, or INA238 device over [I²C](https://esphome.io/components/i2c) bus.","docs_url":"https://esphome.io/components/sensor/ina2xx","id":"sensor.ina2xx_i2c","id_classes":["i2c::I2CDevice","ina2xx_base::INA2XX","ina2xx_i2c::INA2XXI2C"],"multi_conf":true,"name":"INA2xx family of digital power monitors"}, -{"category":"sensor","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/sensor/ina2xx","id":"sensor.ina2xx_spi","id_classes":["ina2xx_base::INA2XX","ina2xx_spi::INA2XXSPI","spi::SPIDevice"],"multi_conf":true,"name":"Ina2Xx SPI"}, -{"category":"sensor","dependencies":["i2c"],"description":"The `ina3221` sensor platform allows you to use your INA3221 3-Channel DC Current Sensor ([datasheet](http://www.ti.com/lit/ds/symlink/ina3221.pdf), [switchdoc](http://www.switchdoc.com/ina3221-breakout-board/)) sensors with ESPHome. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work.","docs_url":"https://esphome.io/components/sensor/ina3221","id":"sensor.ina3221","id_classes":["i2c::I2CDevice","ina3221::INA3221Component"],"image_url":"https://esphome.io/images/ina3221.jpg","multi_conf":true,"name":"INA3221 3-Channel DC Current Sensor"}, +{"category":"sensor","dependencies":["i2c"],"description":"Use `ina2xx_i2c` component to connect INA228, INA237, or INA238 device over [I²C](https://esphome.io/components/i2c) bus.","docs_url":"https://esphome.io/components/sensor/ina2xx","id":"sensor.ina2xx_i2c","multi_conf":true,"name":"INA2xx family of digital power monitors","provides":["sensor"],"provides_id_paths":{"sensor":[["bus_voltage","id"],["charge","id"],["charge_coulombs","id"],["current","id"],["energy","id"],["energy_joules","id"],["power","id"],["shunt_voltage","id"],["temperature","id"]]}}, +{"category":"sensor","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/sensor/ina2xx","id":"sensor.ina2xx_spi","multi_conf":true,"name":"Ina2Xx SPI","provides":["sensor"],"provides_id_paths":{"sensor":[["bus_voltage","id"],["charge","id"],["charge_coulombs","id"],["current","id"],["energy","id"],["energy_joules","id"],["power","id"],["shunt_voltage","id"],["temperature","id"]]}}, +{"category":"sensor","dependencies":["i2c"],"description":"The `ina3221` sensor platform allows you to use your INA3221 3-Channel DC Current Sensor ([datasheet](http://www.ti.com/lit/ds/symlink/ina3221.pdf), [switchdoc](http://www.switchdoc.com/ina3221-breakout-board/)) sensors with ESPHome. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work.","docs_url":"https://esphome.io/components/sensor/ina3221","id":"sensor.ina3221","image_url":"https://esphome.io/images/ina3221.jpg","multi_conf":true,"name":"INA3221 3-Channel DC Current Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["channel_1","bus_voltage","id"],["channel_1","current","id"],["channel_1","power","id"],["channel_1","shunt_voltage","id"],["channel_2","bus_voltage","id"],["channel_2","current","id"],["channel_2","power","id"],["channel_2","shunt_voltage","id"],["channel_3","bus_voltage","id"],["channel_3","current","id"],["channel_3","power","id"],["channel_3","shunt_voltage","id"]]}}, {"category":"sensor","description":"The `inkbird_ibsth1_mini` sensor platform lets you track the output of Inkbird IBS-TH1, IBS-TH1 Mini, and IBS-TH2 Bluetooth Low Energy devices using the [Esp32 Ble Tracker](https://esphome.io/components/esp32_ble_tracker/). This component will track the temperature, external temperature (non mini only), humidity and the battery level of the IBS-TH1 device every time the sensor sends out a BLE broadcast. Note that contrary to other implementations, ESPHome can track as many IBS-TH1/TH2 devices at once as you want.","docs_url":"https://esphome.io/components/sensor/inkbird_ibsth1_mini","id":"sensor.inkbird_ibsth1_mini","image_url":"https://esphome.io/images/inkbird_isbth1_mini.jpg","multi_conf":true,"name":"Inkbird IBS-TH1, IBS-TH1 Mini, and IBS-TH2 BLE Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["battery_level","id"],["external_temperature","id"],["humidity","id"],["temperature","id"]]}}, {"category":"display","dependencies":["i2c","esp32","psram"],"description":"All-in-one e-paper display `Inkplate 5`, `Inkplate 6`, `Inkplate 10` and `Inkplate 6 Plus`.","docs_url":"https://esphome.io/components/display/inkplate","id":"display.inkplate","image_url":"https://esphome.io/images/inkplate6.jpg","multi_conf":true,"name":"Inkplate 5, 6, 10 and 6 Plus","supported_platforms":["esp32"]}, {"category":"sensor","description":"The `integration` sensor is a helper sensor that can integrate values from other sensors over time. This can for example be useful to integrate the values of a water flow sensor (in m^3/s) over time (result is in m^3).","docs_url":"https://esphome.io/components/sensor/integration","id":"sensor.integration","image_url":"https://esphome.io/images/sigma.svg","multi_conf":true,"name":"Integration Sensor","provides":["integration"]}, @@ -413,7 +413,7 @@ {"category":"button","dependencies":["ld6002b"],"description":"The `ld6002b` button platform exposes configuration and diagnostic commands.","docs_url":"https://esphome.io/components/sensor/ld6002b","id":"button.ld6002b","image_url":"https://esphome.io/images/ld6002b.png","multi_conf":true,"name":"LD6002B 3D Presence Radar","provides":["button"],"provides_id_paths":{"button":[["apply_area","id"],["auto_interference","id"],["clear_interference","id"],["get_areas","id"],["get_delay","id"],["get_installation","id"],["get_low_power_mode","id"],["get_low_power_sleep_time","id"],["get_sensitivity","id"],["get_trigger_speed","id"],["get_z_range","id"],["reset_detection_area","id"],["reset_unattended","id"],["wake","id"]]}}, {"category":"number","dependencies":["ld6002b"],"description":"The `ld6002b` number platform lets you configure timing and detection areas.","docs_url":"https://esphome.io/components/sensor/ld6002b","id":"number.ld6002b","image_url":"https://esphome.io/images/ld6002b.png","multi_conf":true,"name":"LD6002B 3D Presence Radar","provides":["number"],"provides_id_paths":{"number":[["area_config","x_max","id"],["area_config","x_min","id"],["area_config","y_max","id"],["area_config","y_min","id"],["area_config","z_max","id"],["area_config","z_min","id"],["hold_delay","id"],["low_power_sleep_time","id"],["z_max","id"],["z_min","id"]]}}, {"category":"select","dependencies":["ld6002b"],"description":"The `ld6002b` select platform configures sensitivity, trigger speed, installation mode, and the active area ID.","docs_url":"https://esphome.io/components/sensor/ld6002b","id":"select.ld6002b","image_url":"https://esphome.io/images/ld6002b.png","multi_conf":true,"name":"LD6002B 3D Presence Radar","provides":["select"],"provides_id_paths":{"select":[["area_id","id"],["installation_mode","id"],["sensitivity","id"],["trigger_speed","id"]]}}, -{"category":"sensor","dependencies":["ld6002b"],"description":"The `ld6002b` sensor provides target coordinates, point-cloud count, and configured area coordinates.","docs_url":"https://esphome.io/components/sensor/ld6002b","id":"sensor.ld6002b","image_url":"https://esphome.io/images/ld6002b.png","multi_conf":true,"name":"LD6002B 3D Presence Radar","provides":["sensor"],"provides_id_paths":{"sensor":[["point_count","id"],["target_count","id"]]}}, +{"category":"sensor","dependencies":["ld6002b"],"description":"The `ld6002b` sensor provides target coordinates, point-cloud count, and configured area coordinates.","docs_url":"https://esphome.io/components/sensor/ld6002b","id":"sensor.ld6002b","image_url":"https://esphome.io/images/ld6002b.png","multi_conf":true,"name":"LD6002B 3D Presence Radar","provides":["sensor"],"provides_id_paths":{"sensor":[["detection_area_0","x_max","id"],["detection_area_0","x_min","id"],["detection_area_0","y_max","id"],["detection_area_0","y_min","id"],["detection_area_0","z_max","id"],["detection_area_0","z_min","id"],["detection_area_1","x_max","id"],["detection_area_1","x_min","id"],["detection_area_1","y_max","id"],["detection_area_1","y_min","id"],["detection_area_1","z_max","id"],["detection_area_1","z_min","id"],["detection_area_2","x_max","id"],["detection_area_2","x_min","id"],["detection_area_2","y_max","id"],["detection_area_2","y_min","id"],["detection_area_2","z_max","id"],["detection_area_2","z_min","id"],["detection_area_3","x_max","id"],["detection_area_3","x_min","id"],["detection_area_3","y_max","id"],["detection_area_3","y_min","id"],["detection_area_3","z_max","id"],["detection_area_3","z_min","id"],["interference_area_0","x_max","id"],["interference_area_0","x_min","id"],["interference_area_0","y_max","id"],["interference_area_0","y_min","id"],["interference_area_0","z_max","id"],["interference_area_0","z_min","id"],["interference_area_1","x_max","id"],["interference_area_1","x_min","id"],["interference_area_1","y_max","id"],["interference_area_1","y_min","id"],["interference_area_1","z_max","id"],["interference_area_1","z_min","id"],["interference_area_2","x_max","id"],["interference_area_2","x_min","id"],["interference_area_2","y_max","id"],["interference_area_2","y_min","id"],["interference_area_2","z_max","id"],["interference_area_2","z_min","id"],["interference_area_3","x_max","id"],["interference_area_3","x_min","id"],["interference_area_3","y_max","id"],["interference_area_3","y_min","id"],["interference_area_3","z_max","id"],["interference_area_3","z_min","id"],["point_count","id"],["target_1","cluster_id","id"],["target_1","doppler_index","id"],["target_1","x","id"],["target_1","y","id"],["target_1","z","id"],["target_2","cluster_id","id"],["target_2","doppler_index","id"],["target_2","x","id"],["target_2","y","id"],["target_2","z","id"],["target_3","cluster_id","id"],["target_3","doppler_index","id"],["target_3","x","id"],["target_3","y","id"],["target_3","z","id"],["target_count","id"]]}}, {"category":"switch","dependencies":["ld6002b"],"description":"The `ld6002b` switch platform enables low power mode, point-cloud output, and target reporting.","docs_url":"https://esphome.io/components/sensor/ld6002b","id":"switch.ld6002b","image_url":"https://esphome.io/images/ld6002b.png","multi_conf":true,"name":"LD6002B 3D Presence Radar","provides":["switch"],"provides_id_paths":{"switch":[["low_power","id"],["point_cloud","id"],["target_display","id"]]}}, {"category":"text_sensor","dependencies":["ld6002b"],"description":"The `ld6002b` text sensor exposes radar operating mode and firmware version.","docs_url":"https://esphome.io/components/sensor/ld6002b","id":"text_sensor.ld6002b","image_url":"https://esphome.io/images/ld6002b.png","multi_conf":true,"name":"LD6002B 3D Presence Radar","provides":["text_sensor"],"provides_id_paths":{"text_sensor":[["ota_version","id"],["work_mode","id"]]}}, {"category":"output","dependencies":["esp32"],"description":"The LEDC output component exposes an [LEDC PWM channel](https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/peripherals/ledc.html) of the ESP32 as an output component.","docs_url":"https://esphome.io/components/output/ledc","id":"output.ledc","image_url":"https://esphome.io/images/pwm.png","multi_conf":true,"name":"ESP32 LEDC Output","provides":["ledc"],"supported_platforms":["esp32"]}, @@ -434,7 +434,7 @@ {"category":"sensor","dependencies":["i2c"],"description":"The `ltr390` sensor platform allows you to use your LTR390 UV and ambient light sensor ([datasheet](https://optoelectronics.liteon.com/upload/download/DS86-2015-0004/LTR-390UV_Final_%20DS_V1%201.pdf), [Adafruit](https://www.adafruit.com/product/4831)) with ESPHome.","docs_url":"https://esphome.io/components/sensor/ltr390","id":"sensor.ltr390","image_url":"https://esphome.io/images/ltr390.jpg","multi_conf":true,"name":"LTR390 UV and Ambient Light Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["ambient_light","id"],["light","id"],["uv","id"],["uv_index","id"]]}}, {"category":"sensor","dependencies":["i2c"],"description":"
","docs_url":"https://esphome.io/components/sensor/ltr501","id":"sensor.ltr501","image_url":"https://esphome.io/images/ltr501.jpg","multi_conf":true,"name":"Lite-On Ambient Light & Proximity Sensors","provides":["sensor"],"provides_id_paths":{"sensor":[["actual_gain","id"],["actual_integration_time","id"],["ambient_light","id"],["full_spectrum_counts","id"],["infrared_counts","id"],["ps_counts","id"]]}}, {"category":"sensor","dependencies":["i2c"],"description":"
","docs_url":"https://esphome.io/components/sensor/ltr_als_ps","id":"sensor.ltr_als_ps","image_url":"https://esphome.io/images/ltr303.jpg","multi_conf":true,"name":"Lite-On Ambient Light & Proximity Sensors","provides":["sensor"],"provides_id_paths":{"sensor":[["actual_gain","id"],["actual_integration_time","id"],["ambient_light","id"],["full_spectrum_counts","id"],["infrared_counts","id"],["ps_counts","id"]]}}, -{"category":"misc","dependencies":["display"],"description":"","docs_url":"https://esphome.io/components/lvgl","id":"lvgl","name":"LVGL","provides":["lvgl"],"provides_id_paths":{"lvgl":[["gradients","id"]]}}, +{"category":"misc","dependencies":["display"],"description":"","docs_url":"https://esphome.io/components/lvgl","id":"lvgl","name":"LVGL","provides":["key_provider","lvgl"],"provides_id_paths":{"key_provider":[["widgets","buttonmatrix","id"],["widgets","keyboard","id"]],"lvgl":[["gradients","id"],["widgets","animimg","id"],["widgets","arc","id"],["widgets","bar","id"],["widgets","btnmatrix_btn","id"],["widgets","button","id"],["widgets","buttonmatrix","id"],["widgets","buttonmatrix","rows","buttons","id"],["widgets","canvas","draw_buf_id"],["widgets","canvas","id"],["widgets","checkbox","id"],["widgets","container","id"],["widgets","dropdown","id"],["widgets","dropdown_list","id"],["widgets","image","id"],["widgets","keyboard","id"],["widgets","label","id"],["widgets","led","id"],["widgets","line","id"],["widgets","list","id"],["widgets","lv_tileview_tile_t","id"],["widgets","meter","id"],["widgets","meter","scales","id"],["widgets","meter","scales","indicators","arc","id"],["widgets","meter","scales","indicators","image","id"],["widgets","meter","scales","indicators","image","image_id"],["widgets","meter","scales","indicators","line","id"],["widgets","meter","scales","indicators","tick_style","id"],["widgets","obj","id"],["widgets","page","id"],["widgets","qrcode","id"],["widgets","roller","id"],["widgets","slider","id"],["widgets","spinbox","id"],["widgets","spinner","id"],["widgets","switch","id"],["widgets","table","id"],["widgets","tabview","id"],["widgets","textarea","id"],["widgets","tileview","id"]]}}, {"category":"binary_sensor","dependencies":["display","lvgl"],"description":"The `lvgl` binary sensor platform creates a binary sensor from an LVGL widget and requires [LVGL](https://esphome.io/components/lvgl/) to be configured.","docs_url":"https://esphome.io/components/binary_sensor/lvgl","id":"binary_sensor.lvgl","image_url":"https://esphome.io/images/lvgl_c_bns.png","multi_conf":true,"name":"LVGL Binary Sensor"}, {"category":"light","dependencies":["display"],"description":"The `lvgl` binary sensor platform creates a binary sensor from an LVGL widget and requires [LVGL](https://esphome.io/components/lvgl/) to be configured.","docs_url":"https://esphome.io/components/binary_sensor/lvgl","id":"light.lvgl","id_classes":["light::LightOutput","light::LightState","lvgl::LVLight"],"image_url":"https://esphome.io/images/lvgl_c_lig.png","multi_conf":true,"name":"LVGL Binary Sensor"}, {"category":"number","dependencies":["display"],"description":"The `lvgl` binary sensor platform creates a binary sensor from an LVGL widget and requires [LVGL](https://esphome.io/components/lvgl/) to be configured.","docs_url":"https://esphome.io/components/binary_sensor/lvgl","id":"number.lvgl","image_url":"https://esphome.io/images/lvgl_c_num.png","multi_conf":true,"name":"LVGL Binary Sensor"}, @@ -637,7 +637,7 @@ {"category":"binary_sensor","dependencies":["rc522"],"description":"","docs_url":"https://esphome.io/components/binary_sensor/rc522","id":"binary_sensor.rc522_spi","multi_conf":true,"name":"RC522 SPI"}, {"bus_constraints":{"uart":{"require_rx":true}},"category":"misc","dependencies":["uart"],"description":"The `rd03d` component allows you to use the Ai-Thinker RD-03D 24GHz millimeter-wave radar module with ESPHome for multi-target trajectory tracking.","docs_url":"https://esphome.io/components/sensor/rd03d","id":"rd03d","image_url":"https://esphome.io/images/rd03d.webp","multi_conf":true,"name":"RD-03D mmWave Radar"}, {"category":"binary_sensor","dependencies":["rd03d"],"description":"The `rd03d` binary sensor provides presence detection for targets.","docs_url":"https://esphome.io/components/sensor/rd03d","id":"binary_sensor.rd03d","image_url":"https://esphome.io/images/rd03d.webp","multi_conf":true,"name":"RD-03D mmWave Radar","provides":["binary_sensor"],"provides_id_paths":{"binary_sensor":[["target","id"],["target_1","id"],["target_2","id"],["target_3","id"]]}}, -{"category":"sensor","dependencies":["rd03d"],"description":"The `rd03d` sensor provides detailed information about detected targets.","docs_url":"https://esphome.io/components/sensor/rd03d","id":"sensor.rd03d","image_url":"https://esphome.io/images/rd03d.webp","multi_conf":true,"name":"RD-03D mmWave Radar","provides":["sensor"],"provides_id_paths":{"sensor":[["target_count","id"]]}}, +{"category":"sensor","dependencies":["rd03d"],"description":"The `rd03d` sensor provides detailed information about detected targets.","docs_url":"https://esphome.io/components/sensor/rd03d","id":"sensor.rd03d","image_url":"https://esphome.io/images/rd03d.webp","multi_conf":true,"name":"RD-03D mmWave Radar","provides":["sensor"],"provides_id_paths":{"sensor":[["target_1","angle","id"],["target_1","distance","id"],["target_1","resolution","id"],["target_1","speed","id"],["target_1","x","id"],["target_1","y","id"],["target_2","angle","id"],["target_2","distance","id"],["target_2","resolution","id"],["target_2","speed","id"],["target_2","x","id"],["target_2","y","id"],["target_3","angle","id"],["target_3","distance","id"],["target_3","resolution","id"],["target_3","speed","id"],["target_3","x","id"],["target_3","y","id"],["target_count","id"]]}}, {"bus_constraints":{"uart":{"baud_rate":9600,"require_rx":true}},"category":"misc","dependencies":["uart"],"description":"The `rdm6300` component allows you to use RDM6300 NFC/RFID controllers ([datasheet](https://elty.pl/upload/download/RFID/RDM630-Spec.pdf), [iTead](https://www.itead.cc/rdm6300.html)) with ESPHome. This component is a global hub that establishes the connection to the RDM6300 via [UART](https://esphome.io/components/uart) and translates the received data. Using the [RDM6300 binary sensors](https://esphome.io/components/binary_sensor/rdm6300#rdm6300-tag) you can then create individual binary sensors that track if an NFC/RFID tag is currently detected by the RDM6300.","docs_url":"https://esphome.io/components/binary_sensor/rdm6300","id":"rdm6300","image_url":"https://esphome.io/images/rdm6300.jpg","multi_conf":true,"name":"RDM6300 NFC/RFID"}, {"category":"binary_sensor","dependencies":["rdm6300"],"description":"The `rdm6300` binary sensor platform lets you track if an NFC/RFID tag with a given unique id (`uid` ) is currently being detected by the RDM6300 or not.","docs_url":"https://esphome.io/components/binary_sensor/rdm6300","id":"binary_sensor.rdm6300","image_url":"https://esphome.io/images/rdm6300.jpg","multi_conf":true,"name":"RDM6300 NFC/RFID"}, {"category":"misc","description":"The `remote_receiver` component lets you receive and decode various common remote control signals, such as infrared or 433 MHz radio frequency (RF) signals.","docs_url":"https://esphome.io/components/remote_receiver","id":"remote_receiver","image_url":"https://esphome.io/images/remote.svg","multi_conf":true,"name":"Remote Receiver","provides":["remote_base"]}, @@ -675,7 +675,7 @@ {"category":"binary_sensor","dependencies":["sdl"],"description":"The `sdl` binary sensor platform creates a binary sensor from keyboard presses on the host platform. The sensor will be true when the key is pressed. The `sdl` display it belongs to must have a window - a display with [headless](https://esphome.io/components/display/sdl#headless-operation) set receives no key presses.","docs_url":"https://esphome.io/components/binary_sensor/sdl","id":"binary_sensor.sdl","image_url":"https://esphome.io/images/sdl.png","multi_conf":true,"name":"SDL Binary Sensor"}, {"category":"display","description":"The `sdl` display platform allows you to use create an ESPHome display on a desktop system running Linux or MacOS. This is particularly useful for designing display layouts, since compiling and running a host binary is much faster than compiling for and flashing a microcontroller target system.","docs_url":"https://esphome.io/components/display/sdl","id":"display.sdl","image_url":"https://esphome.io/images/sdl.png","multi_conf":true,"name":"SDL2 Display on host platform","provides":["sdl","snapshot"]}, {"category":"touchscreen","dependencies":["sdl"],"description":"The `sdl` touchscreen platform allows emulating a touch screen by using the mouse with the `sdl` display driver. The `sdl` display component must be configured to use this, and it must have a window - a display with [headless](https://esphome.io/components/display/sdl#headless-operation) set receives no mouse events.","docs_url":"https://esphome.io/components/touchscreen/sdl","id":"touchscreen.sdl","image_url":"https://esphome.io/images/sdl.png","multi_conf":true,"name":"SDL2 Touch Screen Emulator"}, -{"category":"sensor","dependencies":["modbus","uart"],"description":"The `sdm_meter` sensor platform allows you to use Eastron SDM modbus energy monitors ([website](http://www.eastrongroup.com/product_detail.php?id=170&menu1=&menu2=)) with ESPHome.","docs_url":"https://esphome.io/components/sensor/sdm_meter","id":"sensor.sdm_meter","image_url":"https://esphome.io/images/sdm220m.jpg","multi_conf":true,"name":"Eastron SDM Energy Monitor","provides":["sensor"],"provides_id_paths":{"sensor":[["export_active_energy","id"],["export_reactive_energy","id"],["frequency","id"],["import_active_energy","id"],["import_reactive_energy","id"],["total_power","id"]]}}, +{"category":"sensor","dependencies":["modbus","uart"],"description":"The `sdm_meter` sensor platform allows you to use Eastron SDM modbus energy monitors ([website](http://www.eastrongroup.com/product_detail.php?id=170&menu1=&menu2=)) with ESPHome.","docs_url":"https://esphome.io/components/sensor/sdm_meter","id":"sensor.sdm_meter","image_url":"https://esphome.io/images/sdm220m.jpg","multi_conf":true,"name":"Eastron SDM Energy Monitor","provides":["sensor"],"provides_id_paths":{"sensor":[["export_active_energy","id"],["export_reactive_energy","id"],["frequency","id"],["import_active_energy","id"],["import_reactive_energy","id"],["phase_a","active_power","id"],["phase_a","apparent_power","id"],["phase_a","current","id"],["phase_a","phase_angle","id"],["phase_a","power_factor","id"],["phase_a","reactive_power","id"],["phase_a","voltage","id"],["phase_b","active_power","id"],["phase_b","apparent_power","id"],["phase_b","current","id"],["phase_b","phase_angle","id"],["phase_b","power_factor","id"],["phase_b","reactive_power","id"],["phase_b","voltage","id"],["phase_c","active_power","id"],["phase_c","apparent_power","id"],["phase_c","current","id"],["phase_c","phase_angle","id"],["phase_c","power_factor","id"],["phase_c","reactive_power","id"],["phase_c","voltage","id"],["total_power","id"]]}}, {"category":"sensor","dependencies":["i2c"],"description":"The SDP3x Differential Pressure sensor allows you to use your SDP3x ([datasheet](https://sensirion.com/media/documents/4D045D69/6375F34F/DP_DS_SDP3x_digital_D1.pdf), [sparkfun](https://www.sparkfun.com/products/17874)) or SDP800 Series ([datasheet](https://sensirion.com/media/documents/90500156/6167E43B/Sensirion_Differential_Pressure_Datasheet_SDP8xx_Digital.pdf)) sensors with ESPHome.","docs_url":"https://esphome.io/components/sensor/sdp3x","id":"sensor.sdp3x","image_url":"https://esphome.io/images/sdp31.jpg","multi_conf":true,"name":"SDP3x / SDP800 Series Differential Pressure Sensor"}, {"bus_constraints":{"uart":{"baud_rate":9600}},"category":"sensor","dependencies":["uart"],"description":"The `sds011` sensor platform allows you to use SDS011 particulate matter sensors ([datasheet](https://nettigo.pl/attachments/398)) with ESPHome.","docs_url":"https://esphome.io/components/sensor/sds011","id":"sensor.sds011","image_url":"https://esphome.io/images/sds011.jpg","multi_conf":true,"name":"SDS011 Particulate Matter Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["pm_10_0","id"],["pm_2_5","id"]]}}, {"bus_constraints":{"uart":{"baud_rate":115200,"parity":"NONE","require_rx":true,"require_tx":true,"stop_bits":1}},"category":"misc","dependencies":["uart"],"description":"The `seeed_mr24hpc1` platform allows you to use Seeed Studio 24GHz mmWave Sensor - Human Static Presence Module Lite ([Product Page](https://www.seeedstudio.com/24GHz-mmWave-Sensor-Human-Static-Presence-Module-Lite-p-5524.html)) and Seeed Studio mmWave Human Detection Sensor Kit ([Product Page](https://www.seeedstudio.com/mmWave-Human-Detection-Sensor-Kit-p-5773.html)) with ESPHome.","docs_url":"https://esphome.io/components/seeed_mr24hpc1","id":"seeed_mr24hpc1","image_url":"https://esphome.io/images/seeed-mr24hpc1.jpg","multi_conf":true,"name":"Seeed Studio MR24HPC1 mmWave (Kit)"}, @@ -743,8 +743,8 @@ {"category":"core","description":"","id":"socket","name":"Socket"}, {"bus_constraints":{"uart":{"baud_rate":9600,"require_rx":true,"require_tx":true}},"category":"light","dependencies":["uart","light"],"description":"The `sonoff_d1` light platform creates a simple brightness-only light for the hardware found in [Sonoff D1 dimmer](https://itead.cc/product/sonoff-d1-smart-dimmer-switch/). Installations with Sonoff RM433 433MHz radio remotes are also supported. Use this component to integrate Sonoff D1 dimmer into ESPHome / Home Assistant ecosystem.","docs_url":"https://esphome.io/components/light/sonoff_d1","id":"light.sonoff_d1","id_classes":["light::LightOutput","light::LightState","sonoff_d1::SonoffD1Output","uart::UARTDevice"],"image_url":"https://esphome.io/images/sonoff_d1.jpg","multi_conf":true,"name":"Sonoff D1 Dimmer"}, {"category":"sensor","dependencies":["microphone","esp32"],"description":"The `sound_level` sensor platform allows you to measure a [microphone](https://esphome.io/components/microphone/)'s average and peak sound pressure levels over a specified measurement duration. The sensors output in **relative** `dB`, where `0 dB` represents the loudest sound the microphone can measure.","docs_url":"https://esphome.io/components/sensor/sound_level","id":"sensor.sound_level","image_url":"https://esphome.io/images/waveform.svg","multi_conf":true,"name":"Sound Level Sensor","provides":["sensor","sound_level"],"provides_id_paths":{"sensor":[["peak","id"],["rms","id"]]},"supported_platforms":["esp32"]}, -{"category":"sensor","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/sensor/spa06","id":"sensor.spa06_i2c","id_classes":["i2c::I2CDevice","spa06_i2c::SPA06I2CComponent"],"multi_conf":true,"name":"SPA06-003 Temperature+Pressure Sensor"}, -{"category":"sensor","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/sensor/spa06","id":"sensor.spa06_spi","id_classes":["spa06_spi::SPA06SPIComponent","spi::SPIDevice"],"multi_conf":true,"name":"SPA06-003 Temperature+Pressure Sensor"}, +{"category":"sensor","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/sensor/spa06","id":"sensor.spa06_i2c","multi_conf":true,"name":"SPA06-003 Temperature+Pressure Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["pressure","id"],["temperature","id"]]}}, +{"category":"sensor","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/sensor/spa06","id":"sensor.spa06_spi","multi_conf":true,"name":"SPA06-003 Temperature+Pressure Sensor","provides":["sensor"],"provides_id_paths":{"sensor":[["pressure","id"],["temperature","id"]]}}, {"category":"media_player","dependencies":["speaker","esp32"],"description":"The `speaker` media player platform allows you to play on-device and online audio media via [speaker components](https://esphome.io/components/speaker/).","docs_url":"https://esphome.io/components/media_player/speaker","id":"media_player.speaker","image_url":"https://esphome.io/images/speaker.svg","multi_conf":true,"name":"Speaker Audio Media Player","provides":["speaker"],"supported_platforms":["esp32"]}, {"category":"media_player","dependencies":["media_source","speaker","esp32"],"description":"The `speaker_source` media player platform orchestrates [media source](https://esphome.io/components/media_source/) components that produce audio. When a media URL is received, the platform routes it to the appropriate source based on the URI prefix. For example, a URL starting with `audio-file://` is handled by the [Audio File media source](https://esphome.io/components/media_source/audio_file/).","docs_url":"https://esphome.io/components/media_player/speaker_source","id":"media_player.speaker_source","image_url":"https://esphome.io/images/speaker.svg","multi_conf":true,"name":"Speaker Source Media Player","provides":["speaker_source"],"supported_platforms":["esp32"]}, {"category":"fan","description":"The `speed` fan platform lets you represent any float [Output Component](https://esphome.io/components/output/) as a fan that supports speed settings.","docs_url":"https://esphome.io/components/fan/speed","id":"fan.speed","image_url":"https://esphome.io/images/fan.svg","multi_conf":true,"name":"Speed Fan"}, @@ -919,14 +919,14 @@ {"category":"binary_sensor","dependencies":["wireguard"],"description":"Instructions to setup WireGuard for your ESP board.","docs_url":"https://esphome.io/components/wireguard","id":"binary_sensor.wireguard","image_url":"https://esphome.io/images/wireguard_custom_logo.svg","multi_conf":true,"name":"WireGuard Component","provides":["binary_sensor"],"provides_id_paths":{"binary_sensor":[["enabled","id"],["status","id"]]}}, {"category":"sensor","dependencies":["wireguard"],"description":"Instructions to setup WireGuard for your ESP board.","docs_url":"https://esphome.io/components/wireguard","id":"sensor.wireguard","image_url":"https://esphome.io/images/wireguard_custom_logo.svg","multi_conf":true,"name":"WireGuard Component","provides":["sensor"],"provides_id_paths":{"sensor":[["latest_handshake","id"]]}}, {"category":"text_sensor","dependencies":["wireguard"],"description":"Instructions to setup WireGuard for your ESP board.","docs_url":"https://esphome.io/components/wireguard","id":"text_sensor.wireguard","image_url":"https://esphome.io/images/wireguard_custom_logo.svg","multi_conf":true,"name":"WireGuard Component","provides":["text_sensor"],"provides_id_paths":{"text_sensor":[["address","id"]]}}, -{"category":"misc","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/weikai","id":"wk2132_i2c","multi_conf":true,"name":"Wk2132 I²C"}, -{"category":"misc","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/weikai","id":"wk2132_spi","multi_conf":true,"name":"Wk2132 SPI"}, -{"category":"misc","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/weikai#weikai-address-selection","id":"wk2168_i2c","multi_conf":true,"name":"Wk2168 I²C"}, -{"category":"misc","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/weikai#connecting-via-an-spi-bus","id":"wk2168_spi","multi_conf":true,"name":"Wk2168 SPI"}, -{"category":"misc","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/weikai","id":"wk2204_i2c","multi_conf":true,"name":"Wk2204 I²C"}, -{"category":"misc","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/weikai","id":"wk2204_spi","multi_conf":true,"name":"Wk2204 SPI"}, -{"category":"misc","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/weikai","id":"wk2212_i2c","multi_conf":true,"name":"Wk2212 I²C"}, -{"category":"misc","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/weikai","id":"wk2212_spi","multi_conf":true,"name":"Wk2212 SPI"}, +{"category":"misc","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/weikai","id":"wk2132_i2c","multi_conf":true,"name":"Wk2132 I²C","provides":["uart"],"provides_id_paths":{"uart":[["uart","id"]]}}, +{"category":"misc","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/weikai","id":"wk2132_spi","multi_conf":true,"name":"Wk2132 SPI","provides":["uart"],"provides_id_paths":{"uart":[["uart","id"]]}}, +{"category":"misc","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/weikai#weikai-address-selection","id":"wk2168_i2c","multi_conf":true,"name":"Wk2168 I²C","provides":["uart"],"provides_id_paths":{"uart":[["uart","id"]]}}, +{"category":"misc","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/weikai#connecting-via-an-spi-bus","id":"wk2168_spi","multi_conf":true,"name":"Wk2168 SPI","provides":["uart"],"provides_id_paths":{"uart":[["uart","id"]]}}, +{"category":"misc","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/weikai","id":"wk2204_i2c","multi_conf":true,"name":"Wk2204 I²C","provides":["uart"],"provides_id_paths":{"uart":[["uart","id"]]}}, +{"category":"misc","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/weikai","id":"wk2204_spi","multi_conf":true,"name":"Wk2204 SPI","provides":["uart"],"provides_id_paths":{"uart":[["uart","id"]]}}, +{"category":"misc","dependencies":["i2c"],"description":"","docs_url":"https://esphome.io/components/weikai","id":"wk2212_i2c","multi_conf":true,"name":"Wk2212 I²C","provides":["uart"],"provides_id_paths":{"uart":[["uart","id"]]}}, +{"category":"misc","dependencies":["spi"],"description":"","docs_url":"https://esphome.io/components/weikai","id":"wk2212_spi","multi_conf":true,"name":"Wk2212 SPI","provides":["uart"],"provides_id_paths":{"uart":[["uart","id"]]}}, {"bus_constraints":{"uart":{"baud_rate":9600,"data_bits":8,"parity":"NONE","stop_bits":1}},"category":"text_sensor","dependencies":["uart"],"description":"The `wl_134` text sensor platform exposes the last read pet tag as text sensor.","docs_url":"https://esphome.io/components/text_sensor/wl_134","id":"text_sensor.wl_134","image_url":"https://esphome.io/images/fingerprint.svg","multi_conf":true,"name":"WL-134 Pet Tag Sensor"}, {"category":"misc","description":"","docs_url":"https://esphome.io/components/light#wled-effect","id":"wled","name":"Wled"}, {"bus_constraints":{"uart":{"baud_rate":9600,"require_rx":true}},"category":"sensor","dependencies":["uart"],"description":"The `wts01` platform allows you to use WTS01 temperature sensors with ESPHome. This is the sensor used in Sonoff TH Origin (THR316, THR320) and TH Elite (THR316D, THR320D) devices.","docs_url":"https://esphome.io/components/sensor/wts01","id":"sensor.wts01","image_url":"https://esphome.io/images/wts01.png","multi_conf":true,"name":"WTS01 Temperature Sensor"}, diff --git a/esphome_device_builder/definitions/components/binary_sensor.analog_threshold.json b/esphome_device_builder/definitions/components/binary_sensor.analog_threshold.json index 6b77deb39..07e119d62 100644 --- a/esphome_device_builder/definitions/components/binary_sensor.analog_threshold.json +++ b/esphome_device_builder/definitions/components/binary_sensor.analog_threshold.json @@ -1 +1 @@ -{"id":"binary_sensor.analog_threshold","name":"Analog Threshold Binary Sensor","description":"The `analog_threshold` binary sensor platform allows you to convert analog values (i.e. [sensor](https://esphome.io/components/sensor/) readings) into boolean values, using a threshold as a reference. When the signal is above or equal to the threshold the binary sensor is `true` (this behavior can be changed by adding an `invert` filter).","category":"binary_sensor","docs_url":"https://esphome.io/components/binary_sensor/analog_threshold","image_url":"https://esphome.io/images/analog_threshold.svg","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the binary sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"sensor_id","type":"id","label":"Sensor ID","description":"The ID of the source sensor.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/binary_sensor/analog_threshold#configuration-variables"},{"key":"threshold","type":"nested","label":"Threshold","description":"Configures the reference for comparison. Accepts either a shorthand float number that will be used as both upper/lower threshold, or a mapping to define different values for each (to use hysteresis).","required":true,"display_format":null,"templatable":true,"help_link":"https://esphome.io/components/binary_sensor/analog_threshold#configuration-variables","config_entries":[{"key":"lower","type":"float","label":"Lower","description":"Lower threshold, that needs to be crossed to transition from `high` to `low` states.","required":true,"display_format":null,"templatable":true,"help_link":"https://esphome.io/components/binary_sensor/analog_threshold#configuration-variables"},{"key":"upper","type":"float","label":"Upper","description":"Upper threshold, that needs to be crossed to transition from `low` to `high` states.","required":true,"display_format":null,"templatable":true,"help_link":"https://esphome.io/components/binary_sensor/analog_threshold#configuration-variables"}]},{"key":"zigbee_binary_sensor","type":"id","label":"Zigbee Binary Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the binary sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/binary_sensor/#device-class](https://www.home-assistant.io/integrations/binary_sensor/#device-class) for a list of available options.","options":[{"label":"battery","value":"battery"},{"label":"battery_charging","value":"battery_charging"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"cold","value":"cold"},{"label":"connectivity","value":"connectivity"},{"label":"door","value":"door"},{"label":"(none)","value":""},{"label":"garage_door","value":"garage_door"},{"label":"gas","value":"gas"},{"label":"heat","value":"heat"},{"label":"light","value":"light"},{"label":"lock","value":"lock"},{"label":"moisture","value":"moisture"},{"label":"motion","value":"motion"},{"label":"moving","value":"moving"},{"label":"occupancy","value":"occupancy"},{"label":"opening","value":"opening"},{"label":"plug","value":"plug"},{"label":"power","value":"power"},{"label":"presence","value":"presence"},{"label":"problem","value":"problem"},{"label":"running","value":"running"},{"label":"safety","value":"safety"},{"label":"smoke","value":"smoke"},{"label":"sound","value":"sound"},{"label":"tamper","value":"tamper"},{"label":"update","value":"update"},{"label":"vibration","value":"vibration"},{"label":"window","value":"window"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"filters","type":"registry_list","label":"Filters","description":"A list of filters to apply on the binary sensor values such as inverting signals. See [Binary Sensor Filters](https://esphome.io/components/binary_sensor#binary-sensor-filters).","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"publish_initial_state","type":"string","label":"Publish Initial State","display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"trigger_on_initial_state","type":"boolean","label":"Trigger On Initial State","description":"If true, any applicable triggers will be fired when the binary sensor state changes from `unknown` to a valid state. This applies to the first valid state set, and any valid state set after a `binary_sensor.invalidate_state` action has been executed. The default is `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"binary_sensor.analog_threshold","name":"Analog Threshold Binary Sensor","description":"The `analog_threshold` binary sensor platform allows you to convert analog values (i.e. [sensor](https://esphome.io/components/sensor/) readings) into boolean values, using a threshold as a reference. When the signal is above or equal to the threshold the binary sensor is `true` (this behavior can be changed by adding an `invert` filter).","category":"binary_sensor","docs_url":"https://esphome.io/components/binary_sensor/analog_threshold","image_url":"https://esphome.io/images/analog_threshold.svg","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the binary sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"sensor_id","type":"id","label":"Sensor ID","description":"The ID of the source sensor.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/binary_sensor/analog_threshold#configuration-variables"},{"key":"threshold","type":"nested","label":"Threshold","description":"Configures the reference for comparison. Accepts either a shorthand float number that will be used as both upper/lower threshold, or a mapping to define different values for each (to use hysteresis).","required":true,"display_format":null,"templatable":true,"help_link":"https://esphome.io/components/binary_sensor/analog_threshold#configuration-variables","config_entries":[{"key":"lower","type":"float","label":"Lower","description":"Lower threshold, that needs to be crossed to transition from `high` to `low` states.","required":true,"display_format":null,"templatable":true,"help_link":"https://esphome.io/components/binary_sensor/analog_threshold#configuration-variables"},{"key":"upper","type":"float","label":"Upper","description":"Upper threshold, that needs to be crossed to transition from `low` to `high` states.","required":true,"display_format":null,"templatable":true,"help_link":"https://esphome.io/components/binary_sensor/analog_threshold#configuration-variables"}]},{"key":"zigbee_binary_sensor","type":"id","label":"Zigbee Binary Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the binary sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/binary_sensor/#device-class](https://www.home-assistant.io/integrations/binary_sensor/#device-class) for a list of available options.","options":[{"label":"battery","value":"battery"},{"label":"battery_charging","value":"battery_charging"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"cold","value":"cold"},{"label":"connectivity","value":"connectivity"},{"label":"door","value":"door"},{"label":"(none)","value":""},{"label":"garage_door","value":"garage_door"},{"label":"gas","value":"gas"},{"label":"heat","value":"heat"},{"label":"light","value":"light"},{"label":"lock","value":"lock"},{"label":"moisture","value":"moisture"},{"label":"motion","value":"motion"},{"label":"moving","value":"moving"},{"label":"occupancy","value":"occupancy"},{"label":"opening","value":"opening"},{"label":"plug","value":"plug"},{"label":"power","value":"power"},{"label":"presence","value":"presence"},{"label":"problem","value":"problem"},{"label":"running","value":"running"},{"label":"safety","value":"safety"},{"label":"smoke","value":"smoke"},{"label":"sound","value":"sound"},{"label":"tamper","value":"tamper"},{"label":"update","value":"update"},{"label":"vibration","value":"vibration"},{"label":"window","value":"window"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"filters","type":"registry_list","label":"Filters","description":"A list of filters to apply on the binary sensor values such as inverting signals. See [Binary Sensor Filters](https://esphome.io/components/binary_sensor#binary-sensor-filters).","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"publish_initial_state","type":"string","label":"Publish Initial State","display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"trigger_on_initial_state","type":"boolean","label":"Trigger On Initial State","description":"If true, any applicable triggers will be fired when the binary sensor state changes from `unknown` to a valid state. This applies to the first valid state set, and any valid state set after a `binary_sensor.invalidate_state` action has been executed. The default is `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/binary_sensor#base-binary-sensor-configuration"},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.ballu.json b/esphome_device_builder/definitions/components/climate.ballu.json index d711b407c..5cf72aec5 100644 --- a/esphome_device_builder/definitions/components/climate.ballu.json +++ b/esphome_device_builder/definitions/components/climate.ballu.json @@ -1 +1 @@ -{"id":"climate.ballu","name":"Ballu","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.ballu","name":"Ballu","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.bang_bang.json b/esphome_device_builder/definitions/components/climate.bang_bang.json index 0cee232f7..a6a5cb955 100644 --- a/esphome_device_builder/definitions/components/climate.bang_bang.json +++ b/esphome_device_builder/definitions/components/climate.bang_bang.json @@ -1 +1 @@ -{"id":"climate.bang_bang","name":"Bang Bang Climate Controller","description":"The `bang_bang` climate platform allows you to regulate a value with a [bang-bang controller](https://en.wikipedia.org/wiki/Bang%E2%80%93bang_control) (also called hysteresis controller).","category":"climate","docs_url":"https://esphome.io/components/climate/bang_bang","image_url":"https://esphome.io/images/air-conditioner.svg","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"cool_action","type":"trigger","label":"Cool Action","description":"**Required — set at least one of:** `cool_action`, `heat_action`.\n\nThe action to call when the climate device wants to cooling mode and decrease the current temperature.","display_format":null,"help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables"},{"key":"default_target_temperature_high","type":"float_with_unit","label":"Default Target Temperature High","description":"The default high target temperature for the control algorithm. This can be dynamically set in the frontend later.","required":true,"display_format":null,"help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables","unit_options":["°C","°F","K"]},{"key":"default_target_temperature_low","type":"float_with_unit","label":"Default Target Temperature Low","description":"The default low target temperature for the control algorithm. This can be dynamically set in the frontend later.","required":true,"display_format":null,"help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables","unit_options":["°C","°F","K"]},{"key":"heat_action","type":"trigger","label":"Heat Action","description":"**Required — set at least one of:** `cool_action`, `heat_action`.\n\nThe action to call when the climate device wants to heating mode and increase the current temperature. At least one of `heat_action` and `cool_action` need to be specified.","display_format":null,"help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","description":"If specified, this sensor is used to measure the current humidity. This is used for information only and does not influence temperature control.","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables"},{"key":"idle_action","type":"trigger","label":"Idle Action","description":"The action to call when the climate device wants to enter idle mode.","required":true,"display_format":null,"help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables"},{"key":"sensor","type":"id","label":"Sensor","description":"The sensor that is used to measure the current temperature.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_config","type":"nested","label":"Away Config","description":"Additionally specify target temperature range settings for away mode. Away mode can be used to have a second set of target temperatures (for example while the user is away or during nighttime).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables","config_entries":[{"key":"default_target_temperature_high","type":"float_with_unit","label":"Default Target Temperature High","description":"The default high target temperature for the control algorithm during away mode.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables","unit_options":["°C","°F","K"]},{"key":"default_target_temperature_low","type":"float_with_unit","label":"Default Target Temperature Low","description":"The default low target temperature for the control algorithm during away mode.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables","unit_options":["°C","°F","K"]}]},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}],"required_groups":[{"kind":"at_least_one","keys":["cool_action","heat_action"]}]} +{"id":"climate.bang_bang","name":"Bang Bang Climate Controller","description":"The `bang_bang` climate platform allows you to regulate a value with a [bang-bang controller](https://en.wikipedia.org/wiki/Bang%E2%80%93bang_control) (also called hysteresis controller).","category":"climate","docs_url":"https://esphome.io/components/climate/bang_bang","image_url":"https://esphome.io/images/air-conditioner.svg","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"cool_action","type":"trigger","label":"Cool Action","description":"**Required — set at least one of:** `cool_action`, `heat_action`.\n\nThe action to call when the climate device wants to cooling mode and decrease the current temperature.","display_format":null,"help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables"},{"key":"default_target_temperature_high","type":"float_with_unit","label":"Default Target Temperature High","description":"The default high target temperature for the control algorithm. This can be dynamically set in the frontend later.","required":true,"display_format":null,"help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables","unit_options":["°C","°F","K"]},{"key":"default_target_temperature_low","type":"float_with_unit","label":"Default Target Temperature Low","description":"The default low target temperature for the control algorithm. This can be dynamically set in the frontend later.","required":true,"display_format":null,"help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables","unit_options":["°C","°F","K"]},{"key":"heat_action","type":"trigger","label":"Heat Action","description":"**Required — set at least one of:** `cool_action`, `heat_action`.\n\nThe action to call when the climate device wants to heating mode and increase the current temperature. At least one of `heat_action` and `cool_action` need to be specified.","display_format":null,"help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","description":"If specified, this sensor is used to measure the current humidity. This is used for information only and does not influence temperature control.","display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables"},{"key":"idle_action","type":"trigger","label":"Idle Action","description":"The action to call when the climate device wants to enter idle mode.","required":true,"display_format":null,"help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables"},{"key":"sensor","type":"id","label":"Sensor","description":"The sensor that is used to measure the current temperature.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_config","type":"nested","label":"Away Config","description":"Additionally specify target temperature range settings for away mode. Away mode can be used to have a second set of target temperatures (for example while the user is away or during nighttime).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables","config_entries":[{"key":"default_target_temperature_high","type":"float_with_unit","label":"Default Target Temperature High","description":"The default high target temperature for the control algorithm during away mode.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables","unit_options":["°C","°F","K"]},{"key":"default_target_temperature_low","type":"float_with_unit","label":"Default Target Temperature Low","description":"The default low target temperature for the control algorithm during away mode.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/bang_bang#configuration-variables","unit_options":["°C","°F","K"]}]},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}],"required_groups":[{"kind":"at_least_one","keys":["cool_action","heat_action"]}]} diff --git a/esphome_device_builder/definitions/components/climate.climate_ir_lg.json b/esphome_device_builder/definitions/components/climate.climate_ir_lg.json index 1307c430c..28f4c6219 100644 --- a/esphome_device_builder/definitions/components/climate.climate_ir_lg.json +++ b/esphome_device_builder/definitions/components/climate.climate_ir_lg.json @@ -1 +1 @@ -{"id":"climate.climate_ir_lg","name":"Climate Ir Lg","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#climate_ir_lg","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"advanced_commands_support","type":"boolean","label":"Advanced Commands Support","default_value":false,"display_format":null,"advanced":true},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"bit_high","type":"time_period","label":"Bit High","default_value":"600us","display_format":null,"advanced":true},{"key":"bit_one_low","type":"time_period","label":"Bit One Low","default_value":"1600us","display_format":null,"advanced":true},{"key":"bit_zero_low","type":"time_period","label":"Bit Zero Low","default_value":"550us","display_format":null,"advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"header_high","type":"time_period","label":"Header High","default_value":"8000us","display_format":null,"advanced":true},{"key":"header_low","type":"time_period","label":"Header Low","default_value":"4000us","display_format":null,"advanced":true},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.climate_ir_lg","name":"Climate Ir Lg","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#climate_ir_lg","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"advanced_commands_support","type":"boolean","label":"Advanced Commands Support","default_value":false,"display_format":null,"advanced":true},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"bit_high","type":"time_period","label":"Bit High","default_value":"600us","display_format":null,"advanced":true},{"key":"bit_one_low","type":"time_period","label":"Bit One Low","default_value":"1600us","display_format":null,"advanced":true},{"key":"bit_zero_low","type":"time_period","label":"Bit Zero Low","default_value":"550us","display_format":null,"advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"header_high","type":"time_period","label":"Header High","default_value":"8000us","display_format":null,"advanced":true},{"key":"header_low","type":"time_period","label":"Header Low","default_value":"4000us","display_format":null,"advanced":true},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.coolix.json b/esphome_device_builder/definitions/components/climate.coolix.json index 8ce9eff99..8506b0d63 100644 --- a/esphome_device_builder/definitions/components/climate.coolix.json +++ b/esphome_device_builder/definitions/components/climate.coolix.json @@ -1 +1 @@ -{"id":"climate.coolix","name":"Coolix","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.coolix","name":"Coolix","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.daikin.json b/esphome_device_builder/definitions/components/climate.daikin.json index 9ab731eb2..957a64615 100644 --- a/esphome_device_builder/definitions/components/climate.daikin.json +++ b/esphome_device_builder/definitions/components/climate.daikin.json @@ -1 +1 @@ -{"id":"climate.daikin","name":"Daikin","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.daikin","name":"Daikin","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.daikin_arc.json b/esphome_device_builder/definitions/components/climate.daikin_arc.json index 50bbd7372..566bbaf12 100644 --- a/esphome_device_builder/definitions/components/climate.daikin_arc.json +++ b/esphome_device_builder/definitions/components/climate.daikin_arc.json @@ -1 +1 @@ -{"id":"climate.daikin_arc","name":"Daikin Arc","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#daikin_arc","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.daikin_arc","name":"Daikin Arc","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#daikin_arc","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.daikin_brc.json b/esphome_device_builder/definitions/components/climate.daikin_brc.json index e3c920acd..3d0a477ab 100644 --- a/esphome_device_builder/definitions/components/climate.daikin_brc.json +++ b/esphome_device_builder/definitions/components/climate.daikin_brc.json @@ -1 +1 @@ -{"id":"climate.daikin_brc","name":"Daikin Brc","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#daikin_brc","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"use_fahrenheit","type":"boolean","label":"Use Fahrenheit","default_value":false,"display_format":null,"advanced":true},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.daikin_brc","name":"Daikin Brc","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#daikin_brc","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"use_fahrenheit","type":"boolean","label":"Use Fahrenheit","default_value":false,"display_format":null,"advanced":true},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.delonghi.json b/esphome_device_builder/definitions/components/climate.delonghi.json index 20edfca96..1bbef6da6 100644 --- a/esphome_device_builder/definitions/components/climate.delonghi.json +++ b/esphome_device_builder/definitions/components/climate.delonghi.json @@ -1 +1 @@ -{"id":"climate.delonghi","name":"Delonghi","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#delonghi","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.delonghi","name":"Delonghi","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#delonghi","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.emmeti.json b/esphome_device_builder/definitions/components/climate.emmeti.json index 7531f16af..7d8192b68 100644 --- a/esphome_device_builder/definitions/components/climate.emmeti.json +++ b/esphome_device_builder/definitions/components/climate.emmeti.json @@ -1 +1 @@ -{"id":"climate.emmeti","name":"Emmeti","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.emmeti","name":"Emmeti","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.fujitsu_general.json b/esphome_device_builder/definitions/components/climate.fujitsu_general.json index ec0d704e1..25dd5e75e 100644 --- a/esphome_device_builder/definitions/components/climate.fujitsu_general.json +++ b/esphome_device_builder/definitions/components/climate.fujitsu_general.json @@ -1 +1 @@ -{"id":"climate.fujitsu_general","name":"Fujitsu General","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.fujitsu_general","name":"Fujitsu General","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.gree.json b/esphome_device_builder/definitions/components/climate.gree.json index dd399de1a..c025a8373 100644 --- a/esphome_device_builder/definitions/components/climate.gree.json +++ b/esphome_device_builder/definitions/components/climate.gree.json @@ -1 +1 @@ -{"id":"climate.gree","name":"Gree","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#gree","dependencies":["remote_transmitter"],"multi_conf":true,"provides":["gree"],"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"model","type":"string","label":"Model","required":true,"options":[{"label":"generic","value":"generic"},{"label":"yan","value":"yan"},{"label":"yaa","value":"yaa"},{"label":"yac","value":"yac"},{"label":"yac1fb9","value":"yac1fb9"},{"label":"yx1ff","value":"yx1ff"},{"label":"yag","value":"yag"}],"display_format":null},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.gree","name":"Gree","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#gree","dependencies":["remote_transmitter"],"multi_conf":true,"provides":["gree"],"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"model","type":"string","label":"Model","required":true,"options":[{"label":"generic","value":"generic"},{"label":"yan","value":"yan"},{"label":"yaa","value":"yaa"},{"label":"yac","value":"yac"},{"label":"yac1fb9","value":"yac1fb9"},{"label":"yx1ff","value":"yx1ff"},{"label":"yag","value":"yag"}],"display_format":null},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.heatpumpir.json b/esphome_device_builder/definitions/components/climate.heatpumpir.json index e73c158a0..55e152c84 100644 --- a/esphome_device_builder/definitions/components/climate.heatpumpir.json +++ b/esphome_device_builder/definitions/components/climate.heatpumpir.json @@ -1 +1 @@ -{"id":"climate.heatpumpir","name":"Heatpumpir","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"horizontal_default","type":"string","label":"Horizontal Default","required":true,"options":[{"label":"auto","value":"auto"},{"label":"middle","value":"middle"},{"label":"left","value":"left"},{"label":"mleft","value":"mleft"},{"label":"mright","value":"mright"},{"label":"right","value":"right"}],"display_format":null},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","required":true,"display_format":null,"unit_options":["°C","°F","K"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","required":true,"display_format":null,"unit_options":["°C","°F","K"]},{"key":"protocol","type":"string","label":"Protocol","required":true,"options":[{"label":"aux","value":"aux"},{"label":"ballu","value":"ballu"},{"label":"carrier_mca","value":"carrier_mca"},{"label":"carrier_nqv","value":"carrier_nqv"},{"label":"daikin_arc417","value":"daikin_arc417"},{"label":"daikin_arc480","value":"daikin_arc480"},{"label":"daikin","value":"daikin"},{"label":"electroluxyal","value":"electroluxyal"},{"label":"fuego","value":"fuego"},{"label":"fujitsu_awyz","value":"fujitsu_awyz"},{"label":"gree","value":"gree"},{"label":"greeya","value":"greeya"},{"label":"greeyan","value":"greeyan"},{"label":"greeyac","value":"greeyac"},{"label":"greeyt","value":"greeyt"},{"label":"greeyap","value":"greeyap"},{"label":"hisense_aud","value":"hisense_aud"},{"label":"hitachi","value":"hitachi"},{"label":"hyundai","value":"hyundai"},{"label":"ivt","value":"ivt"},{"label":"midea","value":"midea"},{"label":"mitsubishi_fa","value":"mitsubishi_fa"},{"label":"mitsubishi_fd","value":"mitsubishi_fd"},{"label":"mitsubishi_fe","value":"mitsubishi_fe"},{"label":"mitsubishi_heavy_fdtc","value":"mitsubishi_heavy_fdtc"},{"label":"mitsubishi_heavy_zj","value":"mitsubishi_heavy_zj"},{"label":"mitsubishi_heavy_zm","value":"mitsubishi_heavy_zm"},{"label":"mitsubishi_heavy_zmp","value":"mitsubishi_heavy_zmp"},{"label":"mitsubishi_heavy_kj","value":"mitsubishi_heavy_kj"},{"label":"mitsubishi_msc","value":"mitsubishi_msc"},{"label":"mitsubishi_msy","value":"mitsubishi_msy"},{"label":"mitsubishi_sez","value":"mitsubishi_sez"},{"label":"panasonic_ckp","value":"panasonic_ckp"},{"label":"panasonic_dke","value":"panasonic_dke"},{"label":"panasonic_eke","value":"panasonic_eke"},{"label":"panasonic_jke","value":"panasonic_jke"},{"label":"panasonic_lke","value":"panasonic_lke"},{"label":"panasonic_nke","value":"panasonic_nke"},{"label":"samsung_aqv","value":"samsung_aqv"},{"label":"samsung_fjm","value":"samsung_fjm"},{"label":"sharp","value":"sharp"},{"label":"toshiba_daiseikai","value":"toshiba_daiseikai"},{"label":"toshiba","value":"toshiba"},{"label":"zhlt01","value":"zhlt01"},{"label":"nibe","value":"nibe"},{"label":"carrier_qlima_1","value":"carrier_qlima_1"},{"label":"carrier_qlima_2","value":"carrier_qlima_2"},{"label":"samsung_aqv12msan","value":"samsung_aqv12msan"},{"label":"zhjg01","value":"zhjg01"},{"label":"airway","value":"airway"},{"label":"bgh_aud","value":"bgh_aud"},{"label":"panasonic_altdke","value":"panasonic_altdke"},{"label":"philco_phs32","value":"philco_phs32"},{"label":"vaillantvai8","value":"vaillantvai8"},{"label":"r51m","value":"r51m"}],"display_format":null},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"vertical_default","type":"string","label":"Vertical Default","required":true,"options":[{"label":"auto","value":"auto"},{"label":"up","value":"up"},{"label":"mup","value":"mup"},{"label":"middle","value":"middle"},{"label":"mdown","value":"mdown"},{"label":"down","value":"down"}],"display_format":null},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.heatpumpir","name":"Heatpumpir","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"horizontal_default","type":"string","label":"Horizontal Default","required":true,"options":[{"label":"auto","value":"auto"},{"label":"middle","value":"middle"},{"label":"left","value":"left"},{"label":"mleft","value":"mleft"},{"label":"mright","value":"mright"},{"label":"right","value":"right"}],"display_format":null},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","required":true,"display_format":null,"unit_options":["°C","°F","K"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","required":true,"display_format":null,"unit_options":["°C","°F","K"]},{"key":"protocol","type":"string","label":"Protocol","required":true,"options":[{"label":"aux","value":"aux"},{"label":"ballu","value":"ballu"},{"label":"carrier_mca","value":"carrier_mca"},{"label":"carrier_nqv","value":"carrier_nqv"},{"label":"daikin_arc417","value":"daikin_arc417"},{"label":"daikin_arc480","value":"daikin_arc480"},{"label":"daikin","value":"daikin"},{"label":"electroluxyal","value":"electroluxyal"},{"label":"fuego","value":"fuego"},{"label":"fujitsu_awyz","value":"fujitsu_awyz"},{"label":"gree","value":"gree"},{"label":"greeya","value":"greeya"},{"label":"greeyan","value":"greeyan"},{"label":"greeyac","value":"greeyac"},{"label":"greeyt","value":"greeyt"},{"label":"greeyap","value":"greeyap"},{"label":"hisense_aud","value":"hisense_aud"},{"label":"hitachi","value":"hitachi"},{"label":"hyundai","value":"hyundai"},{"label":"ivt","value":"ivt"},{"label":"midea","value":"midea"},{"label":"mitsubishi_fa","value":"mitsubishi_fa"},{"label":"mitsubishi_fd","value":"mitsubishi_fd"},{"label":"mitsubishi_fe","value":"mitsubishi_fe"},{"label":"mitsubishi_heavy_fdtc","value":"mitsubishi_heavy_fdtc"},{"label":"mitsubishi_heavy_zj","value":"mitsubishi_heavy_zj"},{"label":"mitsubishi_heavy_zm","value":"mitsubishi_heavy_zm"},{"label":"mitsubishi_heavy_zmp","value":"mitsubishi_heavy_zmp"},{"label":"mitsubishi_heavy_kj","value":"mitsubishi_heavy_kj"},{"label":"mitsubishi_msc","value":"mitsubishi_msc"},{"label":"mitsubishi_msy","value":"mitsubishi_msy"},{"label":"mitsubishi_sez","value":"mitsubishi_sez"},{"label":"panasonic_ckp","value":"panasonic_ckp"},{"label":"panasonic_dke","value":"panasonic_dke"},{"label":"panasonic_eke","value":"panasonic_eke"},{"label":"panasonic_jke","value":"panasonic_jke"},{"label":"panasonic_lke","value":"panasonic_lke"},{"label":"panasonic_nke","value":"panasonic_nke"},{"label":"samsung_aqv","value":"samsung_aqv"},{"label":"samsung_fjm","value":"samsung_fjm"},{"label":"sharp","value":"sharp"},{"label":"toshiba_daiseikai","value":"toshiba_daiseikai"},{"label":"toshiba","value":"toshiba"},{"label":"zhlt01","value":"zhlt01"},{"label":"nibe","value":"nibe"},{"label":"carrier_qlima_1","value":"carrier_qlima_1"},{"label":"carrier_qlima_2","value":"carrier_qlima_2"},{"label":"samsung_aqv12msan","value":"samsung_aqv12msan"},{"label":"zhjg01","value":"zhjg01"},{"label":"airway","value":"airway"},{"label":"bgh_aud","value":"bgh_aud"},{"label":"panasonic_altdke","value":"panasonic_altdke"},{"label":"philco_phs32","value":"philco_phs32"},{"label":"vaillantvai8","value":"vaillantvai8"},{"label":"r51m","value":"r51m"}],"display_format":null},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"vertical_default","type":"string","label":"Vertical Default","required":true,"options":[{"label":"auto","value":"auto"},{"label":"up","value":"up"},{"label":"mup","value":"mup"},{"label":"middle","value":"middle"},{"label":"mdown","value":"mdown"},{"label":"down","value":"down"}],"display_format":null},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.hitachi_ac344.json b/esphome_device_builder/definitions/components/climate.hitachi_ac344.json index b640785f7..7f45a6080 100644 --- a/esphome_device_builder/definitions/components/climate.hitachi_ac344.json +++ b/esphome_device_builder/definitions/components/climate.hitachi_ac344.json @@ -1 +1 @@ -{"id":"climate.hitachi_ac344","name":"Hitachi Ac344","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.hitachi_ac344","name":"Hitachi Ac344","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.hitachi_ac424.json b/esphome_device_builder/definitions/components/climate.hitachi_ac424.json index 8be820d03..bdf988a36 100644 --- a/esphome_device_builder/definitions/components/climate.hitachi_ac424.json +++ b/esphome_device_builder/definitions/components/climate.hitachi_ac424.json @@ -1 +1 @@ -{"id":"climate.hitachi_ac424","name":"Hitachi Ac424","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.hitachi_ac424","name":"Hitachi Ac424","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.midea_ir.json b/esphome_device_builder/definitions/components/climate.midea_ir.json index a25067b30..e08bd8179 100644 --- a/esphome_device_builder/definitions/components/climate.midea_ir.json +++ b/esphome_device_builder/definitions/components/climate.midea_ir.json @@ -1 +1 @@ -{"id":"climate.midea_ir","name":"Midea Ir","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#midea_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"use_fahrenheit","type":"boolean","label":"Use Fahrenheit","default_value":false,"display_format":null,"advanced":true},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.midea_ir","name":"Midea Ir","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#midea_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"use_fahrenheit","type":"boolean","label":"Use Fahrenheit","default_value":false,"display_format":null,"advanced":true},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.mitsubishi.json b/esphome_device_builder/definitions/components/climate.mitsubishi.json index f549ad635..d76f17e18 100644 --- a/esphome_device_builder/definitions/components/climate.mitsubishi.json +++ b/esphome_device_builder/definitions/components/climate.mitsubishi.json @@ -1 +1 @@ -{"id":"climate.mitsubishi","name":"Mitsubishi","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#mitsubishi","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"horizontal_default","type":"string","label":"Horizontal Default","default_value":"middle","options":[{"label":"left","value":"left"},{"label":"middle-left","value":"middle-left"},{"label":"middle","value":"middle"},{"label":"middle-right","value":"middle-right"},{"label":"right","value":"right"},{"label":"split","value":"split"}],"display_format":null,"advanced":true},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"set_fan_mode","type":"string","label":"Set Fan Mode","default_value":"3levels","options":[{"label":"quiet_4levels","value":"quiet_4levels"},{"label":"4levels","value":"4levels"},{"label":"3levels","value":"3levels"}],"display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_dry","type":"boolean","label":"Supports Dry","default_value":false,"display_format":null,"advanced":true},{"key":"supports_fan_only","type":"boolean","label":"Supports Fan Only","default_value":false,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"vertical_default","type":"string","label":"Vertical Default","default_value":"middle","options":[{"label":"auto","value":"auto"},{"label":"up","value":"up"},{"label":"middle-up","value":"middle-up"},{"label":"middle","value":"middle"},{"label":"middle-down","value":"middle-down"},{"label":"down","value":"down"}],"display_format":null,"advanced":true},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.mitsubishi","name":"Mitsubishi","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#mitsubishi","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"horizontal_default","type":"string","label":"Horizontal Default","default_value":"middle","options":[{"label":"left","value":"left"},{"label":"middle-left","value":"middle-left"},{"label":"middle","value":"middle"},{"label":"middle-right","value":"middle-right"},{"label":"right","value":"right"},{"label":"split","value":"split"}],"display_format":null,"advanced":true},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"set_fan_mode","type":"string","label":"Set Fan Mode","default_value":"3levels","options":[{"label":"quiet_4levels","value":"quiet_4levels"},{"label":"4levels","value":"4levels"},{"label":"3levels","value":"3levels"}],"display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_dry","type":"boolean","label":"Supports Dry","default_value":false,"display_format":null,"advanced":true},{"key":"supports_fan_only","type":"boolean","label":"Supports Fan Only","default_value":false,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"vertical_default","type":"string","label":"Vertical Default","default_value":"middle","options":[{"label":"auto","value":"auto"},{"label":"up","value":"up"},{"label":"middle-up","value":"middle-up"},{"label":"middle","value":"middle"},{"label":"middle-down","value":"middle-down"},{"label":"down","value":"down"}],"display_format":null,"advanced":true},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.noblex.json b/esphome_device_builder/definitions/components/climate.noblex.json index f37d49e78..80d72abeb 100644 --- a/esphome_device_builder/definitions/components/climate.noblex.json +++ b/esphome_device_builder/definitions/components/climate.noblex.json @@ -1 +1 @@ -{"id":"climate.noblex","name":"Noblex","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.noblex","name":"Noblex","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.pid.json b/esphome_device_builder/definitions/components/climate.pid.json index 476822aa5..abcbc3c8c 100644 --- a/esphome_device_builder/definitions/components/climate.pid.json +++ b/esphome_device_builder/definitions/components/climate.pid.json @@ -1 +1 @@ -{"id":"climate.pid","name":"PID Climate","description":"The `pid` climate platform allows you to regulate a value with a [PID controller](https://en.wikipedia.org/wiki/PID_controller).","category":"climate","docs_url":"https://esphome.io/components/climate/pid","image_url":"https://esphome.io/images/function.svg","multi_conf":true,"provides":["pid"],"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"control_parameters","type":"nested","label":"Control Parameters","description":"Control parameters of the PID controller.","required":true,"display_format":null,"help_link":"https://esphome.io/components/climate/pid#configuration-variables","config_entries":[{"key":"kp","type":"float","label":"Kp","description":"The factor for the proportional term of the PID controller.","required":true,"display_format":null,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"derivative_averaging_samples","type":"integer","label":"Derivative Averaging Samples","description":"average the derivative term over this many samples. Many controllers don't use the derivative term because it is sensitive to slight changes in the input sensor. By taking an average of the derivative term it might become more useful for you. Most PID controllers call this derivative filtering. The derivative term is used to pre-act so don't filter too much. Defaults to `1` which is no sampling/averaging.","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"kd","type":"float","label":"Kd","description":"The factor for the derivative term of the PID controller. Defaults to `0`.","default_value":"0.0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"ki","type":"float","label":"Ki","description":"The factor for the integral term of the PID controller. Defaults to `0`.","default_value":"0.0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"max_integral","type":"float","label":"Max Integral","description":"The maximum value of the integral term multiplied by `ki` to prevent windup. Defaults to `1`.","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"min_integral","type":"float","label":"Min Integral","description":"The minimum value of the integral term multiplied by `ki` to prevent windup. Defaults to `-1`.","default_value":"-1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"output_averaging_samples","type":"integer","label":"Output Averaging Samples","description":"average the output over this many samples. PID controllers can be quite sensitive to small changes on the input sensor. By averaging the last X output samples, the temperature can be more stable. However, the larger the sampling window, the less responsive the PID controller. Defaults to `1` which is no sampling/averaging.","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"starting_integral_term","type":"float","label":"Starting Integral Term","description":"Set the initial output, by priming the integral term. This is useful for when your system is rebooted and you don't want to wait for it to get back equilibrium.","default_value":"0.0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"}]},{"key":"cool_output","type":"id","label":"Cool Output","description":"**Required — set at least one of:** `cool_output`, `heat_output`.\n\nThe ID of a [float output](https://esphome.io/components/output#config-output) that decreases the current temperature. At least one of `heat_output` and `cool_output` must be specified.","display_format":null,"references_component":"output","references_class":"output::FloatOutput","help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"default_target_temperature","type":"float_with_unit","label":"Default Target Temperature","description":"The default target temperature (setpoint) for the control algorithm. This can be dynamically set in the frontend later.","required":true,"display_format":null,"help_link":"https://esphome.io/components/climate/pid#configuration-variables","unit_options":["°C","°F","K"]},{"key":"heat_output","type":"id","label":"Heat Output","description":"**Required — set at least one of:** `cool_output`, `heat_output`.\n\nThe ID of a [float output](https://esphome.io/components/output#config-output) that increases the current temperature. At least one of `heat_output` and `cool_output` must be specified.","display_format":null,"references_component":"output","references_class":"output::FloatOutput","help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","description":"If specified, this sensor is used to measure the current humidity. This is used for information only and does not influence temperature control.","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"sensor","type":"id","label":"Sensor","description":"The sensor that is used to measure the current temperature.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"deadband_parameters","type":"nested","label":"Deadband Parameters","description":"Enables a deadband to stabilise and minimise changes in the output when the temperature is close to the target temperature. See [Deadband Setup](https://esphome.io/components/climate/pid#deadband-setup).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables","config_entries":[{"key":"threshold_high","type":"float_with_unit","label":"Threshold High","required":true,"display_format":null,"advanced":true,"unit_options":["°C","°F","K"]},{"key":"threshold_low","type":"float_with_unit","label":"Threshold Low","required":true,"display_format":null,"advanced":true,"unit_options":["°C","°F","K"]},{"key":"deadband_output_averaging_samples","type":"integer","label":"Deadband Output Averaging Samples","description":"Typically when inside the deadband the PID Controller has reached a state of equilibrium, so it advantageous to use a higher number of output samples like 10-30 samples. Defaults to `1` which is no sampling/averaging.","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"kd_multiplier","type":"float","label":"Kd Multiplier","description":"Set the `kd` gain when inside the deadband. Recommended this is set to `0`. Defaults to `0`.","default_value":"0.0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"ki_multiplier","type":"float","label":"Ki Multiplier","description":"Set the `ki` gain when inside the deadband. Defaults to `0`.","default_value":"0.0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"kp_multiplier","type":"float","label":"Kp Multiplier","description":"Set the `kp` gain when inside the deadband. Defaults to `0`.","default_value":"0.1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}],"required_groups":[{"kind":"at_least_one","keys":["cool_output","heat_output"]}]} +{"id":"climate.pid","name":"PID Climate","description":"The `pid` climate platform allows you to regulate a value with a [PID controller](https://en.wikipedia.org/wiki/PID_controller).","category":"climate","docs_url":"https://esphome.io/components/climate/pid","image_url":"https://esphome.io/images/function.svg","multi_conf":true,"provides":["pid"],"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"control_parameters","type":"nested","label":"Control Parameters","description":"Control parameters of the PID controller.","required":true,"display_format":null,"help_link":"https://esphome.io/components/climate/pid#configuration-variables","config_entries":[{"key":"kp","type":"float","label":"Kp","description":"The factor for the proportional term of the PID controller.","required":true,"display_format":null,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"derivative_averaging_samples","type":"integer","label":"Derivative Averaging Samples","description":"average the derivative term over this many samples. Many controllers don't use the derivative term because it is sensitive to slight changes in the input sensor. By taking an average of the derivative term it might become more useful for you. Most PID controllers call this derivative filtering. The derivative term is used to pre-act so don't filter too much. Defaults to `1` which is no sampling/averaging.","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"kd","type":"float","label":"Kd","description":"The factor for the derivative term of the PID controller. Defaults to `0`.","default_value":"0.0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"ki","type":"float","label":"Ki","description":"The factor for the integral term of the PID controller. Defaults to `0`.","default_value":"0.0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"max_integral","type":"float","label":"Max Integral","description":"The maximum value of the integral term multiplied by `ki` to prevent windup. Defaults to `1`.","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"min_integral","type":"float","label":"Min Integral","description":"The minimum value of the integral term multiplied by `ki` to prevent windup. Defaults to `-1`.","default_value":"-1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"output_averaging_samples","type":"integer","label":"Output Averaging Samples","description":"average the output over this many samples. PID controllers can be quite sensitive to small changes on the input sensor. By averaging the last X output samples, the temperature can be more stable. However, the larger the sampling window, the less responsive the PID controller. Defaults to `1` which is no sampling/averaging.","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"starting_integral_term","type":"float","label":"Starting Integral Term","description":"Set the initial output, by priming the integral term. This is useful for when your system is rebooted and you don't want to wait for it to get back equilibrium.","default_value":"0.0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"}]},{"key":"cool_output","type":"id","label":"Cool Output","description":"**Required — set at least one of:** `cool_output`, `heat_output`.\n\nThe ID of a [float output](https://esphome.io/components/output#config-output) that decreases the current temperature. At least one of `heat_output` and `cool_output` must be specified.","display_format":null,"references_component":"output","references_class":"output::FloatOutput","help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"default_target_temperature","type":"float_with_unit","label":"Default Target Temperature","description":"The default target temperature (setpoint) for the control algorithm. This can be dynamically set in the frontend later.","required":true,"display_format":null,"help_link":"https://esphome.io/components/climate/pid#configuration-variables","unit_options":["°C","°F","K"]},{"key":"heat_output","type":"id","label":"Heat Output","description":"**Required — set at least one of:** `cool_output`, `heat_output`.\n\nThe ID of a [float output](https://esphome.io/components/output#config-output) that increases the current temperature. At least one of `heat_output` and `cool_output` must be specified.","display_format":null,"references_component":"output","references_class":"output::FloatOutput","help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","description":"If specified, this sensor is used to measure the current humidity. This is used for information only and does not influence temperature control.","display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"sensor","type":"id","label":"Sensor","description":"The sensor that is used to measure the current temperature.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"deadband_parameters","type":"nested","label":"Deadband Parameters","description":"Enables a deadband to stabilise and minimise changes in the output when the temperature is close to the target temperature. See [Deadband Setup](https://esphome.io/components/climate/pid#deadband-setup).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables","config_entries":[{"key":"threshold_high","type":"float_with_unit","label":"Threshold High","required":true,"display_format":null,"advanced":true,"unit_options":["°C","°F","K"]},{"key":"threshold_low","type":"float_with_unit","label":"Threshold Low","required":true,"display_format":null,"advanced":true,"unit_options":["°C","°F","K"]},{"key":"deadband_output_averaging_samples","type":"integer","label":"Deadband Output Averaging Samples","description":"Typically when inside the deadband the PID Controller has reached a state of equilibrium, so it advantageous to use a higher number of output samples like 10-30 samples. Defaults to `1` which is no sampling/averaging.","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"kd_multiplier","type":"float","label":"Kd Multiplier","description":"Set the `kd` gain when inside the deadband. Recommended this is set to `0`. Defaults to `0`.","default_value":"0.0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"ki_multiplier","type":"float","label":"Ki Multiplier","description":"Set the `ki` gain when inside the deadband. Defaults to `0`.","default_value":"0.0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"},{"key":"kp_multiplier","type":"float","label":"Kp Multiplier","description":"Set the `kp` gain when inside the deadband. Defaults to `0`.","default_value":"0.1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/pid#configuration-variables"}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}],"required_groups":[{"kind":"at_least_one","keys":["cool_output","heat_output"]}]} diff --git a/esphome_device_builder/definitions/components/climate.tcl112.json b/esphome_device_builder/definitions/components/climate.tcl112.json index a98fbf199..b830651e8 100644 --- a/esphome_device_builder/definitions/components/climate.tcl112.json +++ b/esphome_device_builder/definitions/components/climate.tcl112.json @@ -1 +1 @@ -{"id":"climate.tcl112","name":"Tcl112","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.tcl112","name":"Tcl112","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.template.json b/esphome_device_builder/definitions/components/climate.template.json index e0a731cf1..6472557ae 100644 --- a/esphome_device_builder/definitions/components/climate.template.json +++ b/esphome_device_builder/definitions/components/climate.template.json @@ -1 +1 @@ -{"id":"climate.template","name":"Template Climate","description":"The `template` climate platform lets you create a fully-featured climate entity out of plain ESPHome primitives. It is useful for wrapping custom UART/I²C climate controllers, integrating hardware that lacks a dedicated ESPHome component, or prototyping climate integrations.","category":"climate","docs_url":"https://esphome.io/components/climate/template","image_url":"https://esphome.io/images/description.svg","multi_conf":true,"provides":["template_"],"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"restore_mode","type":"string","label":"Restore Mode","description":"Controls whether climate state (mode, target temperature, fan mode, swing mode, and preset) is persisted to flash and restored on reboot.","default_value":"RESTORE","options":[{"label":"NO_RESTORE","value":"NO_RESTORE","description":"Always start from the plain defaults (or initial_state:, if set) -- never restore."},{"label":"RESTORE","value":"RESTORE"}],"display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","description":"The ID of a [sensor](https://esphome.io/components/sensor/) that provides the measured (ambient) relative humidity. Same push-based behavior as `sensor`, but for `current_humidity`.","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"sensor","type":"id","label":"Sensor","description":"The ID of a [sensor](https://esphome.io/components/sensor/) that provides the measured (ambient) temperature. The climate entity subscribes to the sensor and updates `current_temperature` whenever the sensor reports a new reading -- there is no polling. Also advertises the current-temperature feature. A sensor that becomes unavailable clears the value rather than leaving the last reading on display. If you need to feed in a reading that isn't backed by real hardware (e.g. parsed out of a UART response), publish it to a plain `platform: template` sensor with [`sensor.template.publish`](https://esphome.io/components/sensor/template/#sensor-template-publish-action) and point `sensor` at that.","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"supported_modes","type":"string","label":"Supported Modes","description":"List of operating modes to expose to the frontend. Valid values: `OFF`, `HEAT`, `COOL`, `AUTO`, `HEAT_COOL`, `FAN_ONLY`, `DRY`. > [!NOTE] > `supported_modes` is evaluated at compile time. It cannot be changed at runtime.","required":true,"options":[{"label":"OFF","value":"OFF"},{"label":"HEAT_COOL","value":"HEAT_COOL"},{"label":"COOL","value":"COOL"},{"label":"HEAT","value":"HEAT"},{"label":"DRY","value":"DRY"},{"label":"FAN_ONLY","value":"FAN_ONLY"},{"label":"AUTO","value":"AUTO"}],"display_format":null,"multi_value":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"custom_fan_modes","type":"string","label":"Custom Fan Modes","description":"List of arbitrary fan mode names to expose to the frontend, for devices with proprietary fan modes not covered by `supported_fan_modes`.","display_format":null,"multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"custom_presets","type":"string","label":"Custom Presets","description":"List of arbitrary preset names to expose to the frontend, for devices with proprietary presets not covered by `supported_presets`.","display_format":null,"multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"initial_state","type":"nested","label":"Initial State","description":"Sets a boot-time default for any of the settable properties, for use before anything has been restored (with `restore_mode: RESTORE`) or reported (with `climate.template.publish`). Accepts the same keys as [`climate.template.publish`](https://esphome.io/components/climate/template#climate-template-publish_action), except `current_temperature` / `current_humidity` / `action`, which are reported values rather than static defaults.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables","config_entries":[{"key":"custom_fan_mode","type":"string","label":"Custom Fan Mode","display_format":null,"advanced":true},{"key":"custom_preset","type":"string","label":"Custom Preset","display_format":null,"advanced":true},{"key":"fan_mode","type":"string","label":"Fan Mode","options":[{"label":"ON","value":"ON"},{"label":"OFF","value":"OFF"},{"label":"AUTO","value":"AUTO"},{"label":"LOW","value":"LOW"},{"label":"MEDIUM","value":"MEDIUM"},{"label":"HIGH","value":"HIGH"},{"label":"MIDDLE","value":"MIDDLE"},{"label":"FOCUS","value":"FOCUS"},{"label":"DIFFUSE","value":"DIFFUSE"},{"label":"QUIET","value":"QUIET"}],"display_format":null,"advanced":true},{"key":"mode","type":"string","label":"Mode","options":[{"label":"OFF","value":"OFF"},{"label":"HEAT_COOL","value":"HEAT_COOL"},{"label":"COOL","value":"COOL"},{"label":"HEAT","value":"HEAT"},{"label":"DRY","value":"DRY"},{"label":"FAN_ONLY","value":"FAN_ONLY"},{"label":"AUTO","value":"AUTO"}],"display_format":null,"advanced":true},{"key":"preset","type":"string","label":"Preset","options":[{"label":"NONE","value":"NONE"},{"label":"ECO","value":"ECO"},{"label":"AWAY","value":"AWAY"},{"label":"BOOST","value":"BOOST"},{"label":"COMFORT","value":"COMFORT"},{"label":"HOME","value":"HOME"},{"label":"SLEEP","value":"SLEEP"},{"label":"ACTIVITY","value":"ACTIVITY"}],"display_format":null,"advanced":true},{"key":"swing_mode","type":"string","label":"Swing Mode","options":[{"label":"OFF","value":"OFF"},{"label":"BOTH","value":"BOTH"},{"label":"VERTICAL","value":"VERTICAL"},{"label":"HORIZONTAL","value":"HORIZONTAL"}],"display_format":null,"advanced":true},{"key":"target_humidity","type":"float_with_unit","label":"Target Humidity","display_format":null,"advanced":true,"unit_options":["%"]},{"key":"target_temperature","type":"float_with_unit","label":"Target Temperature","display_format":null,"advanced":true,"unit_options":["°C","°F","K"]},{"key":"target_temperature_high","type":"float_with_unit","label":"Target Temperature High","display_format":null,"advanced":true,"unit_options":["°C","°F","K"]},{"key":"target_temperature_low","type":"float_with_unit","label":"Target Temperature Low","display_format":null,"advanced":true,"unit_options":["°C","°F","K"]}]},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"optimistic","type":"boolean","label":"Optimistic","description":"Controls whether a settable property (mode, target temperature, fan mode, swing mode, preset, etc.) updates immediately when a command is received (`true`, default) or only once `climate.template.publish` reports the device's actual state (`false`).","default_value":true,"display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"set_custom_fan_mode_action","type":"trigger","label":"Set Custom Fan Mode Action","description":"The action to perform when a custom fan mode is requested. The name is available as `x`, a `StringRef` -- use `x.c_str()` to pass it to a `%s` format.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_custom_preset_action","type":"trigger","label":"Set Custom Preset Action","description":"The action to perform when a custom preset is requested. Same `StringRef` handling as `set_custom_fan_mode_action`.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_fan_mode_action","type":"trigger","label":"Set Fan Mode Action","description":"The action to perform when a new fan mode is requested, available as `x`.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_mode_action","type":"trigger","label":"Set Mode Action","description":"The action to perform when a new mode is requested. The requested mode is available as `x`.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_preset_action","type":"trigger","label":"Set Preset Action","description":"The action to perform when a new preset is requested, available as `x`.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_swing_mode_action","type":"trigger","label":"Set Swing Mode Action","description":"The action to perform when a new swing mode is requested, available as `x`.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_target_humidity_action","type":"trigger","label":"Set Target Humidity Action","description":"The action to perform when a new target humidity is requested, available as `x`. Configuring it advertises `supports_target_humidity`.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_target_temperature_action","type":"trigger","label":"Set Target Temperature Action","description":"The action to perform when a new target temperature is requested, available as `x`. Cannot be used together with the two-point actions below.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_target_temperature_high_action","type":"trigger","label":"Set Target Temperature High Action","description":"The action to perform when a new upper bound of the target temperature range is requested, available as `x`. Must be used together with `set_target_temperature_low_action`.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_target_temperature_low_action","type":"trigger","label":"Set Target Temperature Low Action","description":"The action to perform when a new lower bound of the target temperature range is requested, available as `x`. Must be used together with `set_target_temperature_high_action`. Configuring it advertises `supports_two_point_target_temperature`.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supported_fan_modes","type":"string","label":"Supported Fan Modes","description":"List of fan modes to expose to the frontend. Valid values: `ON`, `OFF`, `AUTO`, `LOW`, `MEDIUM`, `HIGH`, `MIDDLE`, `FOCUS`, `DIFFUSE`, `QUIET`.","options":[{"label":"ON","value":"ON"},{"label":"OFF","value":"OFF"},{"label":"AUTO","value":"AUTO"},{"label":"LOW","value":"LOW"},{"label":"MEDIUM","value":"MEDIUM"},{"label":"HIGH","value":"HIGH"},{"label":"MIDDLE","value":"MIDDLE"},{"label":"FOCUS","value":"FOCUS"},{"label":"DIFFUSE","value":"DIFFUSE"},{"label":"QUIET","value":"QUIET"}],"display_format":null,"multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"supported_presets","type":"string","label":"Supported Presets","description":"List of presets to expose to the frontend. Valid values: `NONE`, `ECO`, `AWAY`, `BOOST`, `COMFORT`, `HOME`, `SLEEP`, `ACTIVITY`.","options":[{"label":"NONE","value":"NONE"},{"label":"ECO","value":"ECO"},{"label":"AWAY","value":"AWAY"},{"label":"BOOST","value":"BOOST"},{"label":"COMFORT","value":"COMFORT"},{"label":"HOME","value":"HOME"},{"label":"SLEEP","value":"SLEEP"},{"label":"ACTIVITY","value":"ACTIVITY"}],"display_format":null,"multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"supported_swing_modes","type":"string","label":"Supported Swing Modes","description":"List of swing modes to expose to the frontend. Valid values: `OFF`, `BOTH`, `VERTICAL`, `HORIZONTAL`.","options":[{"label":"OFF","value":"OFF"},{"label":"BOTH","value":"BOTH"},{"label":"VERTICAL","value":"VERTICAL"},{"label":"HORIZONTAL","value":"HORIZONTAL"}],"display_format":null,"multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"supports_action","type":"boolean","label":"Supports Action","description":"Whether to advertise the current climate action (`IDLE`, `HEATING`, `COOLING`, etc.) trait. `action` has no sensor of its own -- report it with `climate.template.publish`. Defaults to `false`.","default_value":false,"display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"supports_current_humidity","type":"boolean","label":"Supports Current Humidity","description":"Same as `supports_current_temperature`, but for the current-humidity trait / `humidity_sensor`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"supports_current_temperature","type":"boolean","label":"Supports Current Temperature","description":"Whether to advertise the current-temperature trait. You normally don't need to set this: it is enabled automatically when `sensor` is configured. Set it to `true` on its own to advertise the trait without a sensor, for reporting the value yourself via `climate.template.publish`. Setting it to `false` while `sensor` is configured is a configuration error.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"supports_target_humidity","type":"boolean","label":"Supports Target Humidity","description":"Whether to advertise a settable `target_humidity`. Enabled automatically when `set_target_humidity_action` is configured, and follows the same rules as `supports_two_point_target_temperature` otherwise.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"supports_two_point_target_temperature","type":"boolean","label":"Supports Two Point Target Temperature","description":"Whether to advertise `target_temperature_low` / `target_temperature_high` (used for `HEAT_COOL` mode) instead of a single `target_temperature`. Enabled automatically when `set_target_temperature_low_action` / `set_target_temperature_high_action` are configured. Set it to `true` on its own to advertise the trait without those actions; setting it to `false` while either is configured is a configuration error.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.template","name":"Template Climate","description":"The `template` climate platform lets you create a fully-featured climate entity out of plain ESPHome primitives. It is useful for wrapping custom UART/I²C climate controllers, integrating hardware that lacks a dedicated ESPHome component, or prototyping climate integrations.","category":"climate","docs_url":"https://esphome.io/components/climate/template","image_url":"https://esphome.io/images/description.svg","multi_conf":true,"provides":["template_"],"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"restore_mode","type":"string","label":"Restore Mode","description":"Controls whether climate state (mode, target temperature, fan mode, swing mode, and preset) is persisted to flash and restored on reboot.","default_value":"RESTORE","options":[{"label":"NO_RESTORE","value":"NO_RESTORE","description":"Always start from the plain defaults (or initial_state:, if set) -- never restore."},{"label":"RESTORE","value":"RESTORE"}],"display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","description":"The ID of a [sensor](https://esphome.io/components/sensor/) that provides the measured (ambient) relative humidity. Same push-based behavior as `sensor`, but for `current_humidity`.","display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"sensor","type":"id","label":"Sensor","description":"The ID of a [sensor](https://esphome.io/components/sensor/) that provides the measured (ambient) temperature. The climate entity subscribes to the sensor and updates `current_temperature` whenever the sensor reports a new reading -- there is no polling. Also advertises the current-temperature feature. A sensor that becomes unavailable clears the value rather than leaving the last reading on display. If you need to feed in a reading that isn't backed by real hardware (e.g. parsed out of a UART response), publish it to a plain `platform: template` sensor with [`sensor.template.publish`](https://esphome.io/components/sensor/template/#sensor-template-publish-action) and point `sensor` at that.","display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"supported_modes","type":"string","label":"Supported Modes","description":"List of operating modes to expose to the frontend. Valid values: `OFF`, `HEAT`, `COOL`, `AUTO`, `HEAT_COOL`, `FAN_ONLY`, `DRY`. > [!NOTE] > `supported_modes` is evaluated at compile time. It cannot be changed at runtime.","required":true,"options":[{"label":"OFF","value":"OFF"},{"label":"HEAT_COOL","value":"HEAT_COOL"},{"label":"COOL","value":"COOL"},{"label":"HEAT","value":"HEAT"},{"label":"DRY","value":"DRY"},{"label":"FAN_ONLY","value":"FAN_ONLY"},{"label":"AUTO","value":"AUTO"}],"display_format":null,"multi_value":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"custom_fan_modes","type":"string","label":"Custom Fan Modes","description":"List of arbitrary fan mode names to expose to the frontend, for devices with proprietary fan modes not covered by `supported_fan_modes`.","display_format":null,"multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"custom_presets","type":"string","label":"Custom Presets","description":"List of arbitrary preset names to expose to the frontend, for devices with proprietary presets not covered by `supported_presets`.","display_format":null,"multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"initial_state","type":"nested","label":"Initial State","description":"Sets a boot-time default for any of the settable properties, for use before anything has been restored (with `restore_mode: RESTORE`) or reported (with `climate.template.publish`). Accepts the same keys as [`climate.template.publish`](https://esphome.io/components/climate/template#climate-template-publish_action), except `current_temperature` / `current_humidity` / `action`, which are reported values rather than static defaults.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables","config_entries":[{"key":"custom_fan_mode","type":"string","label":"Custom Fan Mode","display_format":null,"advanced":true},{"key":"custom_preset","type":"string","label":"Custom Preset","display_format":null,"advanced":true},{"key":"fan_mode","type":"string","label":"Fan Mode","options":[{"label":"ON","value":"ON"},{"label":"OFF","value":"OFF"},{"label":"AUTO","value":"AUTO"},{"label":"LOW","value":"LOW"},{"label":"MEDIUM","value":"MEDIUM"},{"label":"HIGH","value":"HIGH"},{"label":"MIDDLE","value":"MIDDLE"},{"label":"FOCUS","value":"FOCUS"},{"label":"DIFFUSE","value":"DIFFUSE"},{"label":"QUIET","value":"QUIET"}],"display_format":null,"advanced":true},{"key":"mode","type":"string","label":"Mode","options":[{"label":"OFF","value":"OFF"},{"label":"HEAT_COOL","value":"HEAT_COOL"},{"label":"COOL","value":"COOL"},{"label":"HEAT","value":"HEAT"},{"label":"DRY","value":"DRY"},{"label":"FAN_ONLY","value":"FAN_ONLY"},{"label":"AUTO","value":"AUTO"}],"display_format":null,"advanced":true},{"key":"preset","type":"string","label":"Preset","options":[{"label":"NONE","value":"NONE"},{"label":"ECO","value":"ECO"},{"label":"AWAY","value":"AWAY"},{"label":"BOOST","value":"BOOST"},{"label":"COMFORT","value":"COMFORT"},{"label":"HOME","value":"HOME"},{"label":"SLEEP","value":"SLEEP"},{"label":"ACTIVITY","value":"ACTIVITY"}],"display_format":null,"advanced":true},{"key":"swing_mode","type":"string","label":"Swing Mode","options":[{"label":"OFF","value":"OFF"},{"label":"BOTH","value":"BOTH"},{"label":"VERTICAL","value":"VERTICAL"},{"label":"HORIZONTAL","value":"HORIZONTAL"}],"display_format":null,"advanced":true},{"key":"target_humidity","type":"float_with_unit","label":"Target Humidity","display_format":null,"advanced":true,"unit_options":["%"]},{"key":"target_temperature","type":"float_with_unit","label":"Target Temperature","display_format":null,"advanced":true,"unit_options":["°C","°F","K"]},{"key":"target_temperature_high","type":"float_with_unit","label":"Target Temperature High","display_format":null,"advanced":true,"unit_options":["°C","°F","K"]},{"key":"target_temperature_low","type":"float_with_unit","label":"Target Temperature Low","display_format":null,"advanced":true,"unit_options":["°C","°F","K"]}]},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"optimistic","type":"boolean","label":"Optimistic","description":"Controls whether a settable property (mode, target temperature, fan mode, swing mode, preset, etc.) updates immediately when a command is received (`true`, default) or only once `climate.template.publish` reports the device's actual state (`false`).","default_value":true,"display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"set_custom_fan_mode_action","type":"trigger","label":"Set Custom Fan Mode Action","description":"The action to perform when a custom fan mode is requested. The name is available as `x`, a `StringRef` -- use `x.c_str()` to pass it to a `%s` format.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_custom_preset_action","type":"trigger","label":"Set Custom Preset Action","description":"The action to perform when a custom preset is requested. Same `StringRef` handling as `set_custom_fan_mode_action`.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_fan_mode_action","type":"trigger","label":"Set Fan Mode Action","description":"The action to perform when a new fan mode is requested, available as `x`.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_mode_action","type":"trigger","label":"Set Mode Action","description":"The action to perform when a new mode is requested. The requested mode is available as `x`.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_preset_action","type":"trigger","label":"Set Preset Action","description":"The action to perform when a new preset is requested, available as `x`.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_swing_mode_action","type":"trigger","label":"Set Swing Mode Action","description":"The action to perform when a new swing mode is requested, available as `x`.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_target_humidity_action","type":"trigger","label":"Set Target Humidity Action","description":"The action to perform when a new target humidity is requested, available as `x`. Configuring it advertises `supports_target_humidity`.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_target_temperature_action","type":"trigger","label":"Set Target Temperature Action","description":"The action to perform when a new target temperature is requested, available as `x`. Cannot be used together with the two-point actions below.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_target_temperature_high_action","type":"trigger","label":"Set Target Temperature High Action","description":"The action to perform when a new upper bound of the target temperature range is requested, available as `x`. Must be used together with `set_target_temperature_low_action`.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"set_target_temperature_low_action","type":"trigger","label":"Set Target Temperature Low Action","description":"The action to perform when a new lower bound of the target temperature range is requested, available as `x`. Must be used together with `set_target_temperature_high_action`. Configuring it advertises `supports_two_point_target_temperature`.","display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supported_fan_modes","type":"string","label":"Supported Fan Modes","description":"List of fan modes to expose to the frontend. Valid values: `ON`, `OFF`, `AUTO`, `LOW`, `MEDIUM`, `HIGH`, `MIDDLE`, `FOCUS`, `DIFFUSE`, `QUIET`.","options":[{"label":"ON","value":"ON"},{"label":"OFF","value":"OFF"},{"label":"AUTO","value":"AUTO"},{"label":"LOW","value":"LOW"},{"label":"MEDIUM","value":"MEDIUM"},{"label":"HIGH","value":"HIGH"},{"label":"MIDDLE","value":"MIDDLE"},{"label":"FOCUS","value":"FOCUS"},{"label":"DIFFUSE","value":"DIFFUSE"},{"label":"QUIET","value":"QUIET"}],"display_format":null,"multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"supported_presets","type":"string","label":"Supported Presets","description":"List of presets to expose to the frontend. Valid values: `NONE`, `ECO`, `AWAY`, `BOOST`, `COMFORT`, `HOME`, `SLEEP`, `ACTIVITY`.","options":[{"label":"NONE","value":"NONE"},{"label":"ECO","value":"ECO"},{"label":"AWAY","value":"AWAY"},{"label":"BOOST","value":"BOOST"},{"label":"COMFORT","value":"COMFORT"},{"label":"HOME","value":"HOME"},{"label":"SLEEP","value":"SLEEP"},{"label":"ACTIVITY","value":"ACTIVITY"}],"display_format":null,"multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"supported_swing_modes","type":"string","label":"Supported Swing Modes","description":"List of swing modes to expose to the frontend. Valid values: `OFF`, `BOTH`, `VERTICAL`, `HORIZONTAL`.","options":[{"label":"OFF","value":"OFF"},{"label":"BOTH","value":"BOTH"},{"label":"VERTICAL","value":"VERTICAL"},{"label":"HORIZONTAL","value":"HORIZONTAL"}],"display_format":null,"multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"supports_action","type":"boolean","label":"Supports Action","description":"Whether to advertise the current climate action (`IDLE`, `HEATING`, `COOLING`, etc.) trait. `action` has no sensor of its own -- report it with `climate.template.publish`. Defaults to `false`.","default_value":false,"display_format":null,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"supports_current_humidity","type":"boolean","label":"Supports Current Humidity","description":"Same as `supports_current_temperature`, but for the current-humidity trait / `humidity_sensor`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"supports_current_temperature","type":"boolean","label":"Supports Current Temperature","description":"Whether to advertise the current-temperature trait. You normally don't need to set this: it is enabled automatically when `sensor` is configured. Set it to `true` on its own to advertise the trait without a sensor, for reporting the value yourself via `climate.template.publish`. Setting it to `false` while `sensor` is configured is a configuration error.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"supports_target_humidity","type":"boolean","label":"Supports Target Humidity","description":"Whether to advertise a settable `target_humidity`. Enabled automatically when `set_target_humidity_action` is configured, and follows the same rules as `supports_two_point_target_temperature` otherwise.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"supports_two_point_target_temperature","type":"boolean","label":"Supports Two Point Target Temperature","description":"Whether to advertise `target_temperature_low` / `target_temperature_high` (used for `HEAT_COOL` mode) instead of a single `target_temperature`. Enabled automatically when `set_target_temperature_low_action` / `set_target_temperature_high_action` are configured. Set it to `true` on its own to advertise the trait without those actions; setting it to `false` while either is configured is a configuration error.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/template#configuration-variables"},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.thermostat.json b/esphome_device_builder/definitions/components/climate.thermostat.json index 2da7476d2..4adadd06a 100644 --- a/esphome_device_builder/definitions/components/climate.thermostat.json +++ b/esphome_device_builder/definitions/components/climate.thermostat.json @@ -1 +1 @@ -{"id":"climate.thermostat","name":"Thermostat Climate Controller","description":"The `thermostat` climate platform allows you to control a climate control system in much the same manner as a physical thermostat. Its operation is similar to the [Bang-Bang](https://esphome.io/components/climate/bang_bang/) controller; a sensor measures a value (the air temperature) and the controller will try to keep this value within a range defined by the set point(s). To do this, the controller can activate devices like a heating unit and/or a cooling unit to change the value observed by the sensor. When configured for both heating and cooling, it is essentially two [Bang-Bang](https://esphome.io/components/climate/bang_bang/) controllers in one; it differs, however, in that interaction with the thermostat component is nearly identical to that of a real thermostat.","category":"climate","docs_url":"https://esphome.io/components/climate/thermostat","image_url":"https://esphome.io/images/air-conditioner.svg","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"cool_action","type":"trigger","label":"Cool Action","description":"**Required — set at least one of:** `cool_action`, `dry_action`, `fan_only_action`, `heat_action`.\n\nThe action to call when the climate device should enter cooling mode to decrease the current temperature.","display_format":null,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"dry_action","type":"trigger","label":"Dry Action","description":"**Required — set at least one of:** `cool_action`, `dry_action`, `fan_only_action`, `heat_action`.\n\nThe action to call when the climate device should perform its drying (dehumidification) action. The thermostat controller does not trigger this action; it is invoked by `dry_mode` (see below).","display_format":null,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_only_action","type":"trigger","label":"Fan Only Action","description":"**Required — set at least one of:** `cool_action`, `dry_action`, `fan_only_action`, `heat_action`.\n\nThe action to call when the climate device should activate its fan only (but does not heat or cool). When `fan_only_cooling` is set to `false`, the thermostat controller immediately triggers this action when set to `fan_only_mode` ; however, when `fan_only_cooling` is set to `true`, this action is called based on the upper target temperature (similar to `cool_action` above).","display_format":null,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"heat_action","type":"trigger","label":"Heat Action","description":"**Required — set at least one of:** `cool_action`, `dry_action`, `fan_only_action`, `heat_action`.\n\nThe action to call when the climate device should enter heating mode to increase the current temperature.","display_format":null,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","description":"If specified, this sensor is used to measure the current humidity. This may be used for humidity control; see [Humidity Control Actions](https://esphome.io/components/climate/thermostat#humidity-control-actions).","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"idle_action","type":"trigger","label":"Idle Action","description":"The action to call when the climate device should enter its idle state (not cooling, not heating).","required":true,"display_format":null,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"min_idle_time","type":"time_period","label":"Min Idle Time","description":"Minimum duration the idle action must be active before calling another climate action.","required":true,"display_format":null,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"sensor","type":"id","label":"Sensor","description":"The sensor that is used to measure the current temperature.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"auto_mode","type":"trigger","label":"Auto Mode","description":"The action to call when the climate device is placed into \"auto\" mode (it may both cool and heat as required). This mode is different from `heat_cool_mode` (above) in that it takes control of the set points away from the user; it's generally intended for exclusive use by automations.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_config","type":"nested","label":"Away Config","display_format":null,"advanced":true,"config_entries":[{"key":"default_target_temperature_high","type":"float_with_unit","label":"Default Target Temperature High","display_format":null,"advanced":true,"unit_options":["°C","°F","K"]},{"key":"default_target_temperature_low","type":"float_with_unit","label":"Default Target Temperature Low","display_format":null,"advanced":true,"unit_options":["°C","°F","K"]}]},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"cool_deadband","type":"float_with_unit","label":"Cool Deadband","description":"The minimum temperature differential (temperature above the set point) before calling the cooling [action](https://esphome.io/automations/actions#all-actions). Defaults to 0.5 °C.","default_value":"0.5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"cool_mode","type":"trigger","label":"Cool Mode","description":"The action to call when the climate device is placed into cool mode (it may cool as required, but not heat).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"cool_overrun","type":"float_with_unit","label":"Cool Overrun","description":"The minimum temperature differential (cooling beyond the set point) before calling the idle [action](https://esphome.io/automations/actions#all-actions). Defaults to 0.5 °C.","default_value":"0.5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"default_mode","type":"string","label":"Default Mode","display_format":null,"advanced":true},{"key":"default_preset","type":"string","label":"Default Preset","description":"The name of the preset to use by default. Must match a preset as per [preset](https://esphome.io/components/climate/thermostat#thermostat-preset).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"default_target_temperature_high","type":"float_with_unit","label":"Default Target Temperature High","display_format":null,"advanced":true,"unit_options":["°C","°F","K"]},{"key":"default_target_temperature_low","type":"float_with_unit","label":"Default Target Temperature Low","display_format":null,"advanced":true,"unit_options":["°C","°F","K"]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"dry_mode","type":"trigger","label":"Dry Mode","description":"The action to call when the climate device is placed into dry mode (for dehumidification).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_auto_action","type":"trigger","label":"Fan Mode Auto Action","description":"The action to call when the fan should be set to \"auto\" mode (the fan is controlled by the climate control system as required).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_diffuse_action","type":"trigger","label":"Fan Mode Diffuse Action","description":"The action to call when the fan should direct its airflow over a broad area.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_focus_action","type":"trigger","label":"Fan Mode Focus Action","description":"The action to call when the fan should direct its airflow at a specific area.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_high_action","type":"trigger","label":"Fan Mode High Action","description":"The action to call when the fan should run at its maximum speed.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_low_action","type":"trigger","label":"Fan Mode Low Action","description":"The action to call when the fan should run at its minimum speed.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_medium_action","type":"trigger","label":"Fan Mode Medium Action","description":"The action to call when the fan should run at an intermediate speed.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_middle_action","type":"trigger","label":"Fan Mode Middle Action","description":"The action to call when the fan should direct its airflow at an intermediate area.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_off_action","type":"trigger","label":"Fan Mode Off Action","description":"The action to call when the fan should never run.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_on_action","type":"trigger","label":"Fan Mode On Action","description":"The action to call when the fan should run continuously.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_quiet_action","type":"trigger","label":"Fan Mode Quiet Action","description":"The action to call when the fan should run at quiet speed.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_only_action_uses_fan_mode_timer","type":"boolean","label":"Fan Only Action Uses Fan Mode Timer","description":"If set to `true`, the `fan_only_action` will share the same delay timer used for all `fan_mode` actions. The minimum fan switching delay is then determined by `min_fan_mode_switching_time` (see below). This is useful when `fan_only_action` controls the same physical fan as the `fan_mode` actions, common in forced-air HVAC systems.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_only_cooling","type":"boolean","label":"Fan Only Cooling","description":"If set to `true`, when in the `fan_only_mode` climate mode, the `fan_only_action` will only be called when the observed temperature exceeds the upper set point plus `cool_deadband`. When set to `false` (the default), `fan_only_action` is called immediately when `fan_only_mode` is activated, regardless of the current temperature or set points. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_only_mode","type":"trigger","label":"Fan Only Mode","description":"The action to call when the climate device is placed into fan-only mode (it may not heat or cool, but will activate its fan either immediately or, when `fan_only_cooling` is `true`, as needed based on the upper target temperature value).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_with_cooling","type":"boolean","label":"Fan With Cooling","description":"If set to `true`, `fan_only_action` will be called whenever `cool_action` is called. This is useful for forced-air systems where the fan typically runs with cooling. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_with_heating","type":"boolean","label":"Fan With Heating","description":"If set to `true`, `fan_only_action` will be called whenever `heat_action` is called. This is useful for forced-air systems where the fan typically runs with heating. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"heat_cool_mode","type":"string","label":"Heat Cool Mode","description":"The action to call when the climate device is placed into \"heat/cool\" mode (it may both cool and heat as required). If no action is desired, may be set to `true` to enable the mode without a related automation. Note that **both** `heat_action` **and** `cool_action` ([see above](https://esphome.io/components/climate/thermostat#heating-and-cooling-actions)) must be defined to enable this mode.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"heat_deadband","type":"float_with_unit","label":"Heat Deadband","description":"The minimum temperature differential (temperature below the set point) before calling the heating [action](https://esphome.io/automations/actions#all-actions). Defaults to 0.5 °C.","default_value":"0.5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"heat_mode","type":"trigger","label":"Heat Mode","description":"The action to call when the climate device is placed into heat mode (it may heat as required, but not cool).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"heat_overrun","type":"float_with_unit","label":"Heat Overrun","description":"The minimum temperature differential (heating beyond the set point) before calling the idle [action](https://esphome.io/automations/actions#all-actions). Defaults to 0.5 °C.","default_value":"0.5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"humidity_control_dehumidify_action","type":"trigger","label":"Humidity Control Dehumidify Action","description":"The action to call when dehumidification is required.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"humidity_control_humidify_action","type":"trigger","label":"Humidity Control Humidify Action","description":"The action to call when humidification is required.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"humidity_control_off_action","type":"trigger","label":"Humidity Control Off Action","description":"The action to call when (de)humidification should stop. This action is **required** when either of the above actions are configured.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"humidity_hysteresis","type":"float","label":"Humidity Hysteresis","description":"The maximum humidity differential (above/below the set point) before calling the respective humidity control [action](https://esphome.io/automations/actions#config-action). Defaults to 1%.","default_value":"1.0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"max_cooling_run_time","type":"time_period","label":"Max Cooling Run Time","description":"Duration after which `supplemental_cooling_action` will be called when cooling is active. Note that `supplemental_cooling_action` will be called repeatedly at an interval defined by this parameter, as well, enabling multiple stages of supplemental (auxiliary/emergency) cooling.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"max_heating_run_time","type":"time_period","label":"Max Heating Run Time","description":"Duration after which `supplemental_heating_action` will be called when heating is active. Note that `supplemental_heating_action` will be called repeatedly at an interval defined by this parameter, as well, enabling multiple stages of supplemental (auxiliary/emergency) heating.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"min_cooling_off_time","type":"time_period","label":"Min Cooling Off Time","description":"Minimum duration the cooling action must be disengaged before it may be engaged.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"min_cooling_run_time","type":"time_period","label":"Min Cooling Run Time","description":"Minimum duration the cooling action must be engaged before it may be disengaged.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"min_fan_mode_switching_time","type":"time_period","label":"Min Fan Mode Switching Time","description":"Minimum duration any given fan mode must be active before it may be changed.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"min_fanning_off_time","type":"time_period","label":"Min Fanning Off Time","description":"Minimum duration the fanning action must be disengaged before it may be engaged.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"min_fanning_run_time","type":"time_period","label":"Min Fanning Run Time","description":"Minimum duration the fanning action must be engaged before it may be disengaged.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"min_heating_off_time","type":"time_period","label":"Min Heating Off Time","description":"Minimum duration the heating action must be disengaged before it may be engaged.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"min_heating_run_time","type":"time_period","label":"Min Heating Run Time","description":"Minimum duration the heating action must be engaged before it may be disengaged.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"off_mode","type":"trigger","label":"Off Mode","description":"The action to call when the climate device is placed into \"off\" mode (it is completely disabled).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"preset","type":"nested","label":"Preset","description":"(*Optional*, list)","display_format":null,"multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"name","type":"string","label":"Name","description":"Name of the preset. If this is one of the *standard* presets (`eco`, `away`, `boost`, `comfort`, `home`, `sleep`, or `activity` ) it is considered a *standard* preset. Any other string will make the preset a *custom* preset. *Standard* and *custom* presets are functionally equivalent, the only difference is that when switching the mode via [climate.control Action](https://esphome.io/components/climate#climate-control-action) you will need to use the `preset` or `custom_preset` property as appropriate. The Home Assistant `climate.set_preset_mode` service treats them identically","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"default_target_temperature_high","type":"float_with_unit","label":"Default Target Temperature High","description":"The default high target temperature when switching to this preset.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"default_target_temperature_low","type":"float_with_unit","label":"Default Target Temperature Low","description":"The default low target temperature when switching to this preset","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"fan_mode","type":"string","label":"Fan Mode","description":"The fan mode the thermostat should switch to when this preset is activated. If not specified, the thermostat's fan mode will remain unchanged when the preset is activated.","options":[{"label":"ON","value":"ON"},{"label":"OFF","value":"OFF"},{"label":"AUTO","value":"AUTO"},{"label":"LOW","value":"LOW"},{"label":"MEDIUM","value":"MEDIUM"},{"label":"HIGH","value":"HIGH"},{"label":"MIDDLE","value":"MIDDLE"},{"label":"FOCUS","value":"FOCUS"},{"label":"DIFFUSE","value":"DIFFUSE"},{"label":"QUIET","value":"QUIET"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"mode","type":"string","label":"Mode","description":"The mode the thermostat should switch to when this preset is activated. If not specified, the thermostat's mode will remain unchanged when the preset is activated.","options":[{"label":"OFF","value":"OFF"},{"label":"HEAT_COOL","value":"HEAT_COOL"},{"label":"COOL","value":"COOL"},{"label":"HEAT","value":"HEAT"},{"label":"DRY","value":"DRY"},{"label":"FAN_ONLY","value":"FAN_ONLY"},{"label":"AUTO","value":"AUTO"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"swing_mode","type":"string","label":"Swing Mode","description":"The fan swing mode the thermostat should switch to when this preset is activated. If not specified, the thermostat's fan swing mode will remain unchanged when the preset is activated.","options":[{"label":"OFF","value":"OFF"},{"label":"BOTH","value":"BOTH"},{"label":"VERTICAL","value":"VERTICAL"},{"label":"HORIZONTAL","value":"HORIZONTAL"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"}]},{"key":"preset_change","type":"trigger","label":"Preset Change","description":"(*Optional*, [Action](https://esphome.io/automations/actions#all-actions)): The action to call when the preset is changed. This will be called either when a user changes the mode through the Home Assistant UI or through a call to `climate.control`","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"set_point_minimum_differential","type":"float_with_unit","label":"Set Point Minimum Differential","description":"For dual-point/dual-function systems, the minimum required temperature difference between the heat and cool set points. Defaults to 0.5 °C.","default_value":"0.5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"startup_delay","type":"boolean","label":"Startup Delay","description":"If set to `true`, when ESPHome starts, `min_cooling_off_time`, `min_fanning_off_time`, and `min_heating_off_time` must elapse before each respective action may be invoked. This option provides a way to prevent damage to equipment (for example) disrupted by a power interruption. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supplemental_cooling_action","type":"trigger","label":"Supplemental Cooling Action","description":"The action to call when the climate device should activate supplemental cooling to (more aggressively) decrease the current temperature. *This action is called repeatedly at an interval defined by* `max_cooling_run_time` *(see below).*","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"supplemental_cooling_delta","type":"float_with_unit","label":"Supplemental Cooling Delta","description":"When the temperature difference between the upper set point and the current temperature exceeds this value, `supplemental_cooling_action` will be called immediately.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"supplemental_heating_action","type":"trigger","label":"Supplemental Heating Action","description":"The action to call when the climate device should activate supplemental heating to (more aggressively) increase the current temperature. *This action is called repeatedly at an interval defined by* `max_heating_run_time` *(see below).*","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"supplemental_heating_delta","type":"float_with_unit","label":"Supplemental Heating Delta","description":"When the temperature difference between the lower set point and the current temperature exceeds this value, `supplemental_heating_action` will be called immediately.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"swing_both_action","type":"trigger","label":"Swing Both Action","description":"The action to call when the fan should oscillate in horizontal and vertical directions.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"swing_horizontal_action","type":"trigger","label":"Swing Horizontal Action","description":"The action to call when the fan should oscillate in a horizontal direction.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_off_action","type":"trigger","label":"Swing Off Action","description":"The action to call when the fan should remain in a stationary position.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"swing_vertical_action","type":"trigger","label":"Swing Vertical Action","description":"The action to call when the fan should oscillate in a vertical direction.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"target_humidity_change_action","type":"trigger","label":"Target Humidity Change Action","description":"The action to call when the thermostat's target humidity is changed.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_change_action","type":"trigger","label":"Target Temperature Change Action","description":"The action to call when the thermostat's target temperature(s) is/are changed.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}],"required_groups":[{"kind":"at_least_one","keys":["cool_action","dry_action","fan_only_action","heat_action"]}]} +{"id":"climate.thermostat","name":"Thermostat Climate Controller","description":"The `thermostat` climate platform allows you to control a climate control system in much the same manner as a physical thermostat. Its operation is similar to the [Bang-Bang](https://esphome.io/components/climate/bang_bang/) controller; a sensor measures a value (the air temperature) and the controller will try to keep this value within a range defined by the set point(s). To do this, the controller can activate devices like a heating unit and/or a cooling unit to change the value observed by the sensor. When configured for both heating and cooling, it is essentially two [Bang-Bang](https://esphome.io/components/climate/bang_bang/) controllers in one; it differs, however, in that interaction with the thermostat component is nearly identical to that of a real thermostat.","category":"climate","docs_url":"https://esphome.io/components/climate/thermostat","image_url":"https://esphome.io/images/air-conditioner.svg","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"cool_action","type":"trigger","label":"Cool Action","description":"**Required — set at least one of:** `cool_action`, `dry_action`, `fan_only_action`, `heat_action`.\n\nThe action to call when the climate device should enter cooling mode to decrease the current temperature.","display_format":null,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"dry_action","type":"trigger","label":"Dry Action","description":"**Required — set at least one of:** `cool_action`, `dry_action`, `fan_only_action`, `heat_action`.\n\nThe action to call when the climate device should perform its drying (dehumidification) action. The thermostat controller does not trigger this action; it is invoked by `dry_mode` (see below).","display_format":null,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_only_action","type":"trigger","label":"Fan Only Action","description":"**Required — set at least one of:** `cool_action`, `dry_action`, `fan_only_action`, `heat_action`.\n\nThe action to call when the climate device should activate its fan only (but does not heat or cool). When `fan_only_cooling` is set to `false`, the thermostat controller immediately triggers this action when set to `fan_only_mode` ; however, when `fan_only_cooling` is set to `true`, this action is called based on the upper target temperature (similar to `cool_action` above).","display_format":null,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"heat_action","type":"trigger","label":"Heat Action","description":"**Required — set at least one of:** `cool_action`, `dry_action`, `fan_only_action`, `heat_action`.\n\nThe action to call when the climate device should enter heating mode to increase the current temperature.","display_format":null,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","description":"If specified, this sensor is used to measure the current humidity. This may be used for humidity control; see [Humidity Control Actions](https://esphome.io/components/climate/thermostat#humidity-control-actions).","display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"idle_action","type":"trigger","label":"Idle Action","description":"The action to call when the climate device should enter its idle state (not cooling, not heating).","required":true,"display_format":null,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"min_idle_time","type":"time_period","label":"Min Idle Time","description":"Minimum duration the idle action must be active before calling another climate action.","required":true,"display_format":null,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"sensor","type":"id","label":"Sensor","description":"The sensor that is used to measure the current temperature.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"auto_mode","type":"trigger","label":"Auto Mode","description":"The action to call when the climate device is placed into \"auto\" mode (it may both cool and heat as required). This mode is different from `heat_cool_mode` (above) in that it takes control of the set points away from the user; it's generally intended for exclusive use by automations.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_config","type":"nested","label":"Away Config","display_format":null,"advanced":true,"config_entries":[{"key":"default_target_temperature_high","type":"float_with_unit","label":"Default Target Temperature High","display_format":null,"advanced":true,"unit_options":["°C","°F","K"]},{"key":"default_target_temperature_low","type":"float_with_unit","label":"Default Target Temperature Low","display_format":null,"advanced":true,"unit_options":["°C","°F","K"]}]},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"cool_deadband","type":"float_with_unit","label":"Cool Deadband","description":"The minimum temperature differential (temperature above the set point) before calling the cooling [action](https://esphome.io/automations/actions#all-actions). Defaults to 0.5 °C.","default_value":"0.5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"cool_mode","type":"trigger","label":"Cool Mode","description":"The action to call when the climate device is placed into cool mode (it may cool as required, but not heat).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"cool_overrun","type":"float_with_unit","label":"Cool Overrun","description":"The minimum temperature differential (cooling beyond the set point) before calling the idle [action](https://esphome.io/automations/actions#all-actions). Defaults to 0.5 °C.","default_value":"0.5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"default_mode","type":"string","label":"Default Mode","display_format":null,"advanced":true},{"key":"default_preset","type":"string","label":"Default Preset","description":"The name of the preset to use by default. Must match a preset as per [preset](https://esphome.io/components/climate/thermostat#thermostat-preset).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"default_target_temperature_high","type":"float_with_unit","label":"Default Target Temperature High","display_format":null,"advanced":true,"unit_options":["°C","°F","K"]},{"key":"default_target_temperature_low","type":"float_with_unit","label":"Default Target Temperature Low","display_format":null,"advanced":true,"unit_options":["°C","°F","K"]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"dry_mode","type":"trigger","label":"Dry Mode","description":"The action to call when the climate device is placed into dry mode (for dehumidification).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_auto_action","type":"trigger","label":"Fan Mode Auto Action","description":"The action to call when the fan should be set to \"auto\" mode (the fan is controlled by the climate control system as required).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_diffuse_action","type":"trigger","label":"Fan Mode Diffuse Action","description":"The action to call when the fan should direct its airflow over a broad area.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_focus_action","type":"trigger","label":"Fan Mode Focus Action","description":"The action to call when the fan should direct its airflow at a specific area.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_high_action","type":"trigger","label":"Fan Mode High Action","description":"The action to call when the fan should run at its maximum speed.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_low_action","type":"trigger","label":"Fan Mode Low Action","description":"The action to call when the fan should run at its minimum speed.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_medium_action","type":"trigger","label":"Fan Mode Medium Action","description":"The action to call when the fan should run at an intermediate speed.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_middle_action","type":"trigger","label":"Fan Mode Middle Action","description":"The action to call when the fan should direct its airflow at an intermediate area.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_off_action","type":"trigger","label":"Fan Mode Off Action","description":"The action to call when the fan should never run.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_on_action","type":"trigger","label":"Fan Mode On Action","description":"The action to call when the fan should run continuously.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_quiet_action","type":"trigger","label":"Fan Mode Quiet Action","description":"The action to call when the fan should run at quiet speed.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_only_action_uses_fan_mode_timer","type":"boolean","label":"Fan Only Action Uses Fan Mode Timer","description":"If set to `true`, the `fan_only_action` will share the same delay timer used for all `fan_mode` actions. The minimum fan switching delay is then determined by `min_fan_mode_switching_time` (see below). This is useful when `fan_only_action` controls the same physical fan as the `fan_mode` actions, common in forced-air HVAC systems.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_only_cooling","type":"boolean","label":"Fan Only Cooling","description":"If set to `true`, when in the `fan_only_mode` climate mode, the `fan_only_action` will only be called when the observed temperature exceeds the upper set point plus `cool_deadband`. When set to `false` (the default), `fan_only_action` is called immediately when `fan_only_mode` is activated, regardless of the current temperature or set points. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_only_mode","type":"trigger","label":"Fan Only Mode","description":"The action to call when the climate device is placed into fan-only mode (it may not heat or cool, but will activate its fan either immediately or, when `fan_only_cooling` is `true`, as needed based on the upper target temperature value).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_with_cooling","type":"boolean","label":"Fan With Cooling","description":"If set to `true`, `fan_only_action` will be called whenever `cool_action` is called. This is useful for forced-air systems where the fan typically runs with cooling. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"fan_with_heating","type":"boolean","label":"Fan With Heating","description":"If set to `true`, `fan_only_action` will be called whenever `heat_action` is called. This is useful for forced-air systems where the fan typically runs with heating. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"heat_cool_mode","type":"string","label":"Heat Cool Mode","description":"The action to call when the climate device is placed into \"heat/cool\" mode (it may both cool and heat as required). If no action is desired, may be set to `true` to enable the mode without a related automation. Note that **both** `heat_action` **and** `cool_action` ([see above](https://esphome.io/components/climate/thermostat#heating-and-cooling-actions)) must be defined to enable this mode.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"heat_deadband","type":"float_with_unit","label":"Heat Deadband","description":"The minimum temperature differential (temperature below the set point) before calling the heating [action](https://esphome.io/automations/actions#all-actions). Defaults to 0.5 °C.","default_value":"0.5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"heat_mode","type":"trigger","label":"Heat Mode","description":"The action to call when the climate device is placed into heat mode (it may heat as required, but not cool).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"heat_overrun","type":"float_with_unit","label":"Heat Overrun","description":"The minimum temperature differential (heating beyond the set point) before calling the idle [action](https://esphome.io/automations/actions#all-actions). Defaults to 0.5 °C.","default_value":"0.5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"humidity_control_dehumidify_action","type":"trigger","label":"Humidity Control Dehumidify Action","description":"The action to call when dehumidification is required.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"humidity_control_humidify_action","type":"trigger","label":"Humidity Control Humidify Action","description":"The action to call when humidification is required.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"humidity_control_off_action","type":"trigger","label":"Humidity Control Off Action","description":"The action to call when (de)humidification should stop. This action is **required** when either of the above actions are configured.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"humidity_hysteresis","type":"float","label":"Humidity Hysteresis","description":"The maximum humidity differential (above/below the set point) before calling the respective humidity control [action](https://esphome.io/automations/actions#config-action). Defaults to 1%.","default_value":"1.0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"max_cooling_run_time","type":"time_period","label":"Max Cooling Run Time","description":"Duration after which `supplemental_cooling_action` will be called when cooling is active. Note that `supplemental_cooling_action` will be called repeatedly at an interval defined by this parameter, as well, enabling multiple stages of supplemental (auxiliary/emergency) cooling.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"max_heating_run_time","type":"time_period","label":"Max Heating Run Time","description":"Duration after which `supplemental_heating_action` will be called when heating is active. Note that `supplemental_heating_action` will be called repeatedly at an interval defined by this parameter, as well, enabling multiple stages of supplemental (auxiliary/emergency) heating.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"min_cooling_off_time","type":"time_period","label":"Min Cooling Off Time","description":"Minimum duration the cooling action must be disengaged before it may be engaged.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"min_cooling_run_time","type":"time_period","label":"Min Cooling Run Time","description":"Minimum duration the cooling action must be engaged before it may be disengaged.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"min_fan_mode_switching_time","type":"time_period","label":"Min Fan Mode Switching Time","description":"Minimum duration any given fan mode must be active before it may be changed.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"min_fanning_off_time","type":"time_period","label":"Min Fanning Off Time","description":"Minimum duration the fanning action must be disengaged before it may be engaged.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"min_fanning_run_time","type":"time_period","label":"Min Fanning Run Time","description":"Minimum duration the fanning action must be engaged before it may be disengaged.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"min_heating_off_time","type":"time_period","label":"Min Heating Off Time","description":"Minimum duration the heating action must be disengaged before it may be engaged.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"min_heating_run_time","type":"time_period","label":"Min Heating Run Time","description":"Minimum duration the heating action must be engaged before it may be disengaged.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"off_mode","type":"trigger","label":"Off Mode","description":"The action to call when the climate device is placed into \"off\" mode (it is completely disabled).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"preset","type":"nested","label":"Preset","description":"(*Optional*, list)","display_format":null,"multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"name","type":"string","label":"Name","description":"Name of the preset. If this is one of the *standard* presets (`eco`, `away`, `boost`, `comfort`, `home`, `sleep`, or `activity` ) it is considered a *standard* preset. Any other string will make the preset a *custom* preset. *Standard* and *custom* presets are functionally equivalent, the only difference is that when switching the mode via [climate.control Action](https://esphome.io/components/climate#climate-control-action) you will need to use the `preset` or `custom_preset` property as appropriate. The Home Assistant `climate.set_preset_mode` service treats them identically","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"default_target_temperature_high","type":"float_with_unit","label":"Default Target Temperature High","description":"The default high target temperature when switching to this preset.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"default_target_temperature_low","type":"float_with_unit","label":"Default Target Temperature Low","description":"The default low target temperature when switching to this preset","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"fan_mode","type":"string","label":"Fan Mode","description":"The fan mode the thermostat should switch to when this preset is activated. If not specified, the thermostat's fan mode will remain unchanged when the preset is activated.","options":[{"label":"ON","value":"ON"},{"label":"OFF","value":"OFF"},{"label":"AUTO","value":"AUTO"},{"label":"LOW","value":"LOW"},{"label":"MEDIUM","value":"MEDIUM"},{"label":"HIGH","value":"HIGH"},{"label":"MIDDLE","value":"MIDDLE"},{"label":"FOCUS","value":"FOCUS"},{"label":"DIFFUSE","value":"DIFFUSE"},{"label":"QUIET","value":"QUIET"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"mode","type":"string","label":"Mode","description":"The mode the thermostat should switch to when this preset is activated. If not specified, the thermostat's mode will remain unchanged when the preset is activated.","options":[{"label":"OFF","value":"OFF"},{"label":"HEAT_COOL","value":"HEAT_COOL"},{"label":"COOL","value":"COOL"},{"label":"HEAT","value":"HEAT"},{"label":"DRY","value":"DRY"},{"label":"FAN_ONLY","value":"FAN_ONLY"},{"label":"AUTO","value":"AUTO"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"swing_mode","type":"string","label":"Swing Mode","description":"The fan swing mode the thermostat should switch to when this preset is activated. If not specified, the thermostat's fan swing mode will remain unchanged when the preset is activated.","options":[{"label":"OFF","value":"OFF"},{"label":"BOTH","value":"BOTH"},{"label":"VERTICAL","value":"VERTICAL"},{"label":"HORIZONTAL","value":"HORIZONTAL"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"}]},{"key":"preset_change","type":"trigger","label":"Preset Change","description":"(*Optional*, [Action](https://esphome.io/automations/actions#all-actions)): The action to call when the preset is changed. This will be called either when a user changes the mode through the Home Assistant UI or through a call to `climate.control`","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"set_point_minimum_differential","type":"float_with_unit","label":"Set Point Minimum Differential","description":"For dual-point/dual-function systems, the minimum required temperature difference between the heat and cool set points. Defaults to 0.5 °C.","default_value":"0.5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"startup_delay","type":"boolean","label":"Startup Delay","description":"If set to `true`, when ESPHome starts, `min_cooling_off_time`, `min_fanning_off_time`, and `min_heating_off_time` must elapse before each respective action may be invoked. This option provides a way to prevent damage to equipment (for example) disrupted by a power interruption. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supplemental_cooling_action","type":"trigger","label":"Supplemental Cooling Action","description":"The action to call when the climate device should activate supplemental cooling to (more aggressively) decrease the current temperature. *This action is called repeatedly at an interval defined by* `max_cooling_run_time` *(see below).*","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"supplemental_cooling_delta","type":"float_with_unit","label":"Supplemental Cooling Delta","description":"When the temperature difference between the upper set point and the current temperature exceeds this value, `supplemental_cooling_action` will be called immediately.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"supplemental_heating_action","type":"trigger","label":"Supplemental Heating Action","description":"The action to call when the climate device should activate supplemental heating to (more aggressively) increase the current temperature. *This action is called repeatedly at an interval defined by* `max_heating_run_time` *(see below).*","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"supplemental_heating_delta","type":"float_with_unit","label":"Supplemental Heating Delta","description":"When the temperature difference between the lower set point and the current temperature exceeds this value, `supplemental_heating_action` will be called immediately.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables","unit_options":["°C","°F","K"]},{"key":"swing_both_action","type":"trigger","label":"Swing Both Action","description":"The action to call when the fan should oscillate in horizontal and vertical directions.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"swing_horizontal_action","type":"trigger","label":"Swing Horizontal Action","description":"The action to call when the fan should oscillate in a horizontal direction.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_off_action","type":"trigger","label":"Swing Off Action","description":"The action to call when the fan should remain in a stationary position.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"swing_vertical_action","type":"trigger","label":"Swing Vertical Action","description":"The action to call when the fan should oscillate in a vertical direction.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"target_humidity_change_action","type":"trigger","label":"Target Humidity Change Action","description":"The action to call when the thermostat's target humidity is changed.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_change_action","type":"trigger","label":"Target Temperature Change Action","description":"The action to call when the thermostat's target temperature(s) is/are changed.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate/thermostat#configuration-variables"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}],"required_groups":[{"kind":"at_least_one","keys":["cool_action","dry_action","fan_only_action","heat_action"]}]} diff --git a/esphome_device_builder/definitions/components/climate.toshiba.json b/esphome_device_builder/definitions/components/climate.toshiba.json index 6b89f1c10..ddac4666e 100644 --- a/esphome_device_builder/definitions/components/climate.toshiba.json +++ b/esphome_device_builder/definitions/components/climate.toshiba.json @@ -1 +1 @@ -{"id":"climate.toshiba","name":"Toshiba","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#toshiba","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"model","type":"string","label":"Model","default_value":"generic","options":[{"label":"GENERIC","value":"GENERIC"},{"label":"RAC-PT1411HWRU-C","value":"RAC-PT1411HWRU-C"},{"label":"RAC-PT1411HWRU-F","value":"RAC-PT1411HWRU-F"},{"label":"RAS-2819T","value":"RAS-2819T"}],"display_format":null},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.toshiba","name":"Toshiba","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#toshiba","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"model","type":"string","label":"Model","default_value":"generic","options":[{"label":"GENERIC","value":"GENERIC"},{"label":"RAC-PT1411HWRU-C","value":"RAC-PT1411HWRU-C"},{"label":"RAC-PT1411HWRU-F","value":"RAC-PT1411HWRU-F"},{"label":"RAS-2819T","value":"RAS-2819T"}],"display_format":null},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.whirlpool.json b/esphome_device_builder/definitions/components/climate.whirlpool.json index 8d269c919..2e70bb596 100644 --- a/esphome_device_builder/definitions/components/climate.whirlpool.json +++ b/esphome_device_builder/definitions/components/climate.whirlpool.json @@ -1 +1 @@ -{"id":"climate.whirlpool","name":"Whirlpool","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#whirlpool","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"model","type":"string","label":"Model","default_value":"DG11J1-3A","options":[{"label":"DG11J1-3A","value":"DG11J1-3A"},{"label":"DG11J1-91","value":"DG11J1-91"}],"display_format":null},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.whirlpool","name":"Whirlpool","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#whirlpool","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"model","type":"string","label":"Model","default_value":"DG11J1-3A","options":[{"label":"DG11J1-3A","value":"DG11J1-3A"},{"label":"DG11J1-91","value":"DG11J1-91"}],"display_format":null},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.whynter.json b/esphome_device_builder/definitions/components/climate.whynter.json index dc7e476a6..b74d0831c 100644 --- a/esphome_device_builder/definitions/components/climate.whynter.json +++ b/esphome_device_builder/definitions/components/climate.whynter.json @@ -1 +1 @@ -{"id":"climate.whynter","name":"Whynter","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#whynter","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"use_fahrenheit","type":"boolean","label":"Use Fahrenheit","default_value":false,"display_format":null,"advanced":true},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.whynter","name":"Whynter","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#whynter","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"use_fahrenheit","type":"boolean","label":"Use Fahrenheit","default_value":false,"display_format":null,"advanced":true},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.yashima.json b/esphome_device_builder/definitions/components/climate.yashima.json index 259760108..f545554cb 100644 --- a/esphome_device_builder/definitions/components/climate.yashima.json +++ b/esphome_device_builder/definitions/components/climate.yashima.json @@ -1 +1 @@ -{"id":"climate.yashima","name":"Yashima","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_transmitter"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.yashima","name":"Yashima","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_transmitter"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/climate.zhlt01.json b/esphome_device_builder/definitions/components/climate.zhlt01.json index 529164884..326da00a2 100644 --- a/esphome_device_builder/definitions/components/climate.zhlt01.json +++ b/esphome_device_builder/definitions/components/climate.zhlt01.json @@ -1 +1 @@ -{"id":"climate.zhlt01","name":"Zhlt01","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#zhlt01","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"climate.zhlt01","name":"Zhlt01","description":"","category":"climate","docs_url":"https://esphome.io/components/climate/climate_ir#zhlt01","dependencies":["remote_transmitter"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the climate device. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the climate device in the frontend.","display_format":null,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"humidity_sensor","type":"id","label":"Humidity Sensor","display_format":null,"references_component":"sensor"},{"key":"receiver_id","type":"id","label":"Receiver ID","display_format":null,"references_component":"remote_base"},{"key":"sensor","type":"id","label":"Sensor","display_format":null,"references_component":"sensor"},{"key":"transmitter_id","type":"id","label":"Transmitter ID","display_format":null,"references_component":"remote_base"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"action_state_topic","type":"string","label":"Action State Topic","description":"The topic to publish climate device action changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"away_command_topic","type":"string","label":"Away Command Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"away_state_topic","type":"string","label":"Away State Topic","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"current_humidity_state_topic","type":"string","label":"Current Humidity State Topic","description":"The topic to publish current humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"current_temperature_state_topic","type":"string","label":"Current Temperature State Topic","description":"The topic to publish current temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_command_topic","type":"string","label":"Fan Mode Command Topic","description":"The topic to receive fan mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"fan_mode_state_topic","type":"string","label":"Fan Mode State Topic","description":"The topic to publish fan mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_command_topic","type":"string","label":"Mode Command Topic","description":"The topic to receive climate device mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"mode_state_topic","type":"string","label":"Mode State Topic","description":"The topic to publish climate device mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_command_topic","type":"string","label":"Preset Command Topic","description":"The topic to receive preset commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"preset_state_topic","type":"string","label":"Preset State Topic","description":"The topic to publish preset changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"supports_cool","type":"boolean","label":"Supports Cool","default_value":true,"display_format":null,"advanced":true},{"key":"supports_heat","type":"boolean","label":"Supports Heat","default_value":true,"display_format":null,"advanced":true},{"key":"swing_mode_command_topic","type":"string","label":"Swing Mode Command Topic","description":"The topic to receive swing mode commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"swing_mode_state_topic","type":"string","label":"Swing Mode State Topic","description":"The topic to publish swing mode changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_command_topic","type":"string","label":"Target Humidity Command Topic","description":"The topic to receive target humidity commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_humidity_state_topic","type":"string","label":"Target Humidity State Topic","description":"The topic to publish target humidity changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_command_topic","type":"string","label":"Target Temperature Command Topic","description":"The topic to receive target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_command_topic","type":"string","label":"Target Temperature High Command Topic","description":"The topic to receive higher target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_high_state_topic","type":"string","label":"Target Temperature High State Topic","description":"The topic to publish higher target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_command_topic","type":"string","label":"Target Temperature Low Command Topic","description":"The topic to receive lower target temperature commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_low_state_topic","type":"string","label":"Target Temperature Low State Topic","description":"The topic to publish lower target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"target_temperature_state_topic","type":"string","label":"Target Temperature State Topic","description":"The topic to publish target temperature changes to.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration"},{"key":"visual","type":"nested","label":"Visual","description":"Visual settings for the climate device - these do not affect operation and are solely for controlling how the climate device shows up in the frontend.","default_value":"{}","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","config_entries":[{"key":"max_humidity","type":"float_with_unit","label":"Max Humidity","description":"The maximum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"max_temperature","type":"float_with_unit","label":"Max Temperature","description":"The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"min_humidity","type":"float_with_unit","label":"Min Humidity","description":"The minimum humidity the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["%"]},{"key":"min_temperature","type":"float_with_unit","label":"Min Temperature","description":"The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]},{"key":"temperature_step","type":"float_with_unit","label":"Temperature Step","description":"The granularity with which the target temperature can be controlled.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/climate#base-climate-configuration","unit_options":["°C","°F","K"]}]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/cover.current_based.json b/esphome_device_builder/definitions/components/cover.current_based.json index 2bd884b80..4e37cfbc7 100644 --- a/esphome_device_builder/definitions/components/cover.current_based.json +++ b/esphome_device_builder/definitions/components/cover.current_based.json @@ -1 +1 @@ -{"id":"cover.current_based","name":"Current Based Cover","description":"The `current_based` cover platform allows you to create covers with position control by using current sensors to detect the fully-open and fully-closed states. This is pretty useful when using motors with integrated mechanical endstops. During cover operation, the component monitors the current consumption to detect when the motor has stopped.","category":"cover","docs_url":"https://esphome.io/components/cover/current_based","image_url":"https://esphome.io/images/flash.svg","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the cover. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the cover in the frontend.","display_format":null,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"close_action","type":"trigger","label":"Close Action","description":"The action that should be performed when the remote requests the cover to be closed.","required":true,"display_format":null,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"close_duration","type":"time_period","label":"Close Duration","description":"The amount of time it takes the cover to close from the fully-open state.","required":true,"display_format":null,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"close_moving_current_threshold","type":"float","label":"Close Moving Current Threshold","description":"The amount of current in Amps the motor should drain to consider the cover is closing.","required":true,"display_format":null,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"close_sensor","type":"id","label":"Close Sensor","description":"The close current sensor.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"open_action","type":"trigger","label":"Open Action","description":"The action that should be performed when the remote requests the cover to be opened.","required":true,"display_format":null,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"open_duration","type":"time_period","label":"Open Duration","description":"The amount of time it takes the cover to open up from the fully-closed state.","required":true,"display_format":null,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"open_moving_current_threshold","type":"float","label":"Open Moving Current Threshold","description":"The amount of current in Amps the motor should drain to consider the cover is opening.","required":true,"display_format":null,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"open_sensor","type":"id","label":"Open Sensor","description":"The open current sensor.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"stop_action","type":"trigger","label":"Stop Action","description":"The action that should be performed to stop the cover.","required":true,"display_format":null,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/cover/#device-class](https://www.home-assistant.io/integrations/cover/#device-class) for a list of available options.","options":[{"label":"awning","value":"awning"},{"label":"blind","value":"blind"},{"label":"curtain","value":"curtain"},{"label":"damper","value":"damper"},{"label":"door","value":"door"},{"label":"(none)","value":""},{"label":"garage","value":"garage"},{"label":"gate","value":"gate"},{"label":"shade","value":"shade"},{"label":"shutter","value":"shutter"},{"label":"window","value":"window"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"close_obstacle_current_threshold","type":"float","label":"Close Obstacle Current Threshold","description":"The amount of current in Amps the motor should drain to consider the cover is blocked during closing.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"malfunction_action","type":"trigger","label":"Malfunction Action","description":"The action that should be performed when relay malfunction is detected. Malfunction may require device servicing. You can use this action to notify other systems about this situation.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"malfunction_detection","type":"boolean","label":"Malfunction Detection","description":"Enable to detect malfunction detection (Typically welded relays). Defaults to `True`.","default_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"max_duration","type":"time_period","label":"Max Duration","description":"The maximum duration the cover should be opening or closing. Useful for protecting from dysfunctional motor integrated endstops.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"mqtt_json_state_payload","type":"boolean","label":"MQTT Json State Payload","description":"When set to `true`, state changes will be published only to the `state_topic` as a single JSON object per state change. When `false`, individual values are published to the `state_topic`, `position_state_topic`, and `tilt_state_topic` separately. Defaults to `false`.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"obstacle_rollback","type":"string","label":"Obstacle Rollback","description":"The percentage of rollback the cover will perform in case of obstacle detection. Defaults to `10%`.","default_value":"10%","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"open_obstacle_current_threshold","type":"float","label":"Open Obstacle Current Threshold","description":"The amount of current in Amps the motor should drain to consider the cover is blocked during opening.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"position_command_topic","type":"string","label":"Position Command Topic","description":"The topic to receive cover position commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"position_state_topic","type":"string","label":"Position State Topic","description":"The topic to publish cover position changes to. Not valid if `mqtt_json_state_payload` is set to `true`.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"start_sensing_delay","type":"time_period","label":"Start Sensing Delay","description":"The amount of time the current sensing will be disabled when the movement starts. Motors can take some time before reaching their average consumption. Low values can cause an immediate stop because of the first current reading happening in the current-rising period. Defaults to `500ms`.","default_value":"500ms","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"tilt_command_topic","type":"string","label":"Tilt Command Topic","description":"The topic to receive cover tilt commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"tilt_state_topic","type":"string","label":"Tilt State Topic","description":"The topic to publish cover cover tilt state changes to. Not valid if `mqtt_json_state_payload` is set to `true`.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"cover.current_based","name":"Current Based Cover","description":"The `current_based` cover platform allows you to create covers with position control by using current sensors to detect the fully-open and fully-closed states. This is pretty useful when using motors with integrated mechanical endstops. During cover operation, the component monitors the current consumption to detect when the motor has stopped.","category":"cover","docs_url":"https://esphome.io/components/cover/current_based","image_url":"https://esphome.io/images/flash.svg","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the cover. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the cover in the frontend.","display_format":null,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"close_action","type":"trigger","label":"Close Action","description":"The action that should be performed when the remote requests the cover to be closed.","required":true,"display_format":null,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"close_duration","type":"time_period","label":"Close Duration","description":"The amount of time it takes the cover to close from the fully-open state.","required":true,"display_format":null,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"close_moving_current_threshold","type":"float","label":"Close Moving Current Threshold","description":"The amount of current in Amps the motor should drain to consider the cover is closing.","required":true,"display_format":null,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"close_sensor","type":"id","label":"Close Sensor","description":"The close current sensor.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"open_action","type":"trigger","label":"Open Action","description":"The action that should be performed when the remote requests the cover to be opened.","required":true,"display_format":null,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"open_duration","type":"time_period","label":"Open Duration","description":"The amount of time it takes the cover to open up from the fully-closed state.","required":true,"display_format":null,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"open_moving_current_threshold","type":"float","label":"Open Moving Current Threshold","description":"The amount of current in Amps the motor should drain to consider the cover is opening.","required":true,"display_format":null,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"open_sensor","type":"id","label":"Open Sensor","description":"The open current sensor.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"stop_action","type":"trigger","label":"Stop Action","description":"The action that should be performed to stop the cover.","required":true,"display_format":null,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/cover/#device-class](https://www.home-assistant.io/integrations/cover/#device-class) for a list of available options.","options":[{"label":"awning","value":"awning"},{"label":"blind","value":"blind"},{"label":"curtain","value":"curtain"},{"label":"damper","value":"damper"},{"label":"door","value":"door"},{"label":"(none)","value":""},{"label":"garage","value":"garage"},{"label":"gate","value":"gate"},{"label":"shade","value":"shade"},{"label":"shutter","value":"shutter"},{"label":"window","value":"window"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"close_obstacle_current_threshold","type":"float","label":"Close Obstacle Current Threshold","description":"The amount of current in Amps the motor should drain to consider the cover is blocked during closing.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"command_retain","type":"boolean","label":"Command Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"command_topic","type":"string","label":"Command Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"malfunction_action","type":"trigger","label":"Malfunction Action","description":"The action that should be performed when relay malfunction is detected. Malfunction may require device servicing. You can use this action to notify other systems about this situation.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"malfunction_detection","type":"boolean","label":"Malfunction Detection","description":"Enable to detect malfunction detection (Typically welded relays). Defaults to `True`.","default_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"max_duration","type":"time_period","label":"Max Duration","description":"The maximum duration the cover should be opening or closing. Useful for protecting from dysfunctional motor integrated endstops.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"mqtt_json_state_payload","type":"boolean","label":"MQTT Json State Payload","description":"When set to `true`, state changes will be published only to the `state_topic` as a single JSON object per state change. When `false`, individual values are published to the `state_topic`, `position_state_topic`, and `tilt_state_topic` separately. Defaults to `false`.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"obstacle_rollback","type":"string","label":"Obstacle Rollback","description":"The percentage of rollback the cover will perform in case of obstacle detection. Defaults to `10%`.","default_value":"10%","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"open_obstacle_current_threshold","type":"float","label":"Open Obstacle Current Threshold","description":"The amount of current in Amps the motor should drain to consider the cover is blocked during opening.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"position_command_topic","type":"string","label":"Position Command Topic","description":"The topic to receive cover position commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"position_state_topic","type":"string","label":"Position State Topic","description":"The topic to publish cover position changes to. Not valid if `mqtt_json_state_payload` is set to `true`.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"start_sensing_delay","type":"time_period","label":"Start Sensing Delay","description":"The amount of time the current sensing will be disabled when the movement starts. Motors can take some time before reaching their average consumption. Low values can cause an immediate stop because of the first current reading happening in the current-rising period. Defaults to `500ms`.","default_value":"500ms","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/cover/current_based#configuration-variables"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"tilt_command_topic","type":"string","label":"Tilt Command Topic","description":"The topic to receive cover tilt commands on.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"tilt_state_topic","type":"string","label":"Tilt State Topic","description":"The topic to publish cover cover tilt state changes to. Not valid if `mqtt_json_state_payload` is set to `true`.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/cover#base-cover-configuration"},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/graph.json b/esphome_device_builder/definitions/components/graph.json index 1b4c7f593..beb533a7d 100644 --- a/esphome_device_builder/definitions/components/graph.json +++ b/esphome_device_builder/definitions/components/graph.json @@ -1 +1 @@ -{"id":"graph","name":"Graph Component","description":"You can display a graph of a sensor value(s) using this component. The states used for the graph are stored in memory at the time the sensor updates and will be lost when the device reboots.","category":"misc","docs_url":"https://esphome.io/components/graph","image_url":"https://esphome.io/images/chart-line.svg","dependencies":["display","sensor"],"multi_conf":true,"config_entries":[{"key":"id","type":"id","label":"ID","description":"The ID with which you will be able to reference the graph later in your display code.","required":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"duration","type":"time_period","label":"Duration","description":"The total graph history duration.","required":true,"display_format":null,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"sensor","type":"id","label":"Sensor","description":"The sensor value to plot.","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"border","type":"boolean","label":"Border","description":"Draw a border around the legend. Defaults to `true`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"color","type":"id","label":"Color","description":"Sets the color of the sensor trace.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"height","type":"integer","label":"Height","description":"Legend height in pixels. If not specified, height is automatically calculated.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"legend","type":"nested","label":"Legend","description":"Configures a legend for the graph traces. See [Legend Options](https://esphome.io/components/graph#legend-options).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables","config_entries":[{"key":"name_font","type":"id","label":"Name Font","description":"Font used for trace names.","required":true,"display_format":null,"references_component":"font","advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"},{"key":"value_font","type":"id","label":"Value Font","description":"Font used for current values. If not specified, values are not displayed.","display_format":null,"references_component":"font","advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"border","type":"boolean","label":"Border","description":"Draw a border around the legend. Defaults to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"},{"key":"direction","type":"string","label":"Direction","description":"Layout direction. Can be AUTO, HORIZONTAL, VERTICAL. Defaults to AUTO.","options":[{"label":"AUTO","value":"AUTO"},{"label":"HORIZONTAL","value":"HORIZONTAL"},{"label":"VERTICAL","value":"VERTICAL"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"},{"key":"height","type":"integer","label":"Height","description":"Legend height in pixels. If not specified, height is automatically calculated.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"},{"key":"show_lines","type":"boolean","label":"Show Lines","description":"Display line style samples. Defaults to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"},{"key":"show_units","type":"boolean","label":"Show Units","description":"Include units with values. Defaults to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"},{"key":"show_values","type":"string","label":"Show Values","description":"Position of current values. Can be NONE, AUTO, BESIDE, BELOW. Defaults to AUTO.","options":[{"label":"NONE","value":"NONE"},{"label":"AUTO","value":"AUTO"},{"label":"BESIDE","value":"BESIDE"},{"label":"BELOW","value":"BELOW"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"},{"key":"width","type":"integer","label":"Width","description":"Legend width in pixels. If not specified, width is automatically calculated.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"}]},{"key":"line_thickness","type":"integer","label":"Line Thickness","description":"Defaults to 3.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"line_type","type":"string","label":"Line Type","description":"Specifies the plot line-type. Can be one of the following: `SOLID`, `DOTTED`, `DASHED`. Defaults to `SOLID`.","options":[{"label":"SOLID","value":"SOLID"},{"label":"DOTTED","value":"DOTTED"},{"label":"DASHED","value":"DASHED"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"max_range","type":"float","label":"Max Range","description":"Specifies the maximum Y-axis range.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"max_value","type":"float","label":"Max Value","description":"Specifies the maximum Y-axis value.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"min_range","type":"float","label":"Min Range","description":"Specifies the minimum Y-axis range.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"min_value","type":"float","label":"Min Value","description":"Specifies the minimum Y-axis value.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"traces","type":"nested","label":"Traces","description":"Use this to specify more than a single trace.","display_format":null,"multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables","config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"name","type":"string","label":"Name","display_format":null,"advanced":true},{"key":"color","type":"id","label":"Color","display_format":null,"advanced":true},{"key":"continuous","type":"boolean","label":"Continuous","display_format":null,"advanced":true},{"key":"line_thickness","type":"integer","label":"Line Thickness","display_format":null,"advanced":true},{"key":"line_type","type":"string","label":"Line Type","options":[{"label":"SOLID","value":"SOLID"},{"label":"DOTTED","value":"DOTTED"},{"label":"DASHED","value":"DASHED"}],"display_format":null,"advanced":true},{"key":"sensor","type":"id","label":"Sensor","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","advanced":true}]},{"key":"width","type":"integer","label":"Width","description":"Legend width in pixels. If not specified, width is automatically calculated.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"x_grid","type":"time_period","label":"X Grid","description":"Specifies the time per division. If not specified, no vertical grid will be drawn.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"y_grid","type":"float","label":"Y Grid","description":"Specifies the number of units per division. If not specified, no horizontal grid will be drawn.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"}]} +{"id":"graph","name":"Graph Component","description":"You can display a graph of a sensor value(s) using this component. The states used for the graph are stored in memory at the time the sensor updates and will be lost when the device reboots.","category":"misc","docs_url":"https://esphome.io/components/graph","image_url":"https://esphome.io/images/chart-line.svg","dependencies":["display","sensor"],"multi_conf":true,"config_entries":[{"key":"id","type":"id","label":"ID","description":"The ID with which you will be able to reference the graph later in your display code.","required":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"duration","type":"time_period","label":"Duration","description":"The total graph history duration.","required":true,"display_format":null,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"sensor","type":"id","label":"Sensor","description":"The sensor value to plot.","display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"border","type":"boolean","label":"Border","description":"Draw a border around the legend. Defaults to `true`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"color","type":"id","label":"Color","description":"Sets the color of the sensor trace.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"height","type":"integer","label":"Height","description":"Legend height in pixels. If not specified, height is automatically calculated.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"legend","type":"nested","label":"Legend","description":"Configures a legend for the graph traces. See [Legend Options](https://esphome.io/components/graph#legend-options).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables","config_entries":[{"key":"name_font","type":"id","label":"Name Font","description":"Font used for trace names.","required":true,"display_format":null,"references_component":"font","advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"},{"key":"value_font","type":"id","label":"Value Font","description":"Font used for current values. If not specified, values are not displayed.","display_format":null,"references_component":"font","advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"border","type":"boolean","label":"Border","description":"Draw a border around the legend. Defaults to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"},{"key":"direction","type":"string","label":"Direction","description":"Layout direction. Can be AUTO, HORIZONTAL, VERTICAL. Defaults to AUTO.","options":[{"label":"AUTO","value":"AUTO"},{"label":"HORIZONTAL","value":"HORIZONTAL"},{"label":"VERTICAL","value":"VERTICAL"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"},{"key":"height","type":"integer","label":"Height","description":"Legend height in pixels. If not specified, height is automatically calculated.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"},{"key":"show_lines","type":"boolean","label":"Show Lines","description":"Display line style samples. Defaults to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"},{"key":"show_units","type":"boolean","label":"Show Units","description":"Include units with values. Defaults to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"},{"key":"show_values","type":"string","label":"Show Values","description":"Position of current values. Can be NONE, AUTO, BESIDE, BELOW. Defaults to AUTO.","options":[{"label":"NONE","value":"NONE"},{"label":"AUTO","value":"AUTO"},{"label":"BESIDE","value":"BESIDE"},{"label":"BELOW","value":"BELOW"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"},{"key":"width","type":"integer","label":"Width","description":"Legend width in pixels. If not specified, width is automatically calculated.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#legend-options"}]},{"key":"line_thickness","type":"integer","label":"Line Thickness","description":"Defaults to 3.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"line_type","type":"string","label":"Line Type","description":"Specifies the plot line-type. Can be one of the following: `SOLID`, `DOTTED`, `DASHED`. Defaults to `SOLID`.","options":[{"label":"SOLID","value":"SOLID"},{"label":"DOTTED","value":"DOTTED"},{"label":"DASHED","value":"DASHED"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"max_range","type":"float","label":"Max Range","description":"Specifies the maximum Y-axis range.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"max_value","type":"float","label":"Max Value","description":"Specifies the maximum Y-axis value.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"min_range","type":"float","label":"Min Range","description":"Specifies the minimum Y-axis range.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"min_value","type":"float","label":"Min Value","description":"Specifies the minimum Y-axis value.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"traces","type":"nested","label":"Traces","description":"Use this to specify more than a single trace.","display_format":null,"multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables","config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"name","type":"string","label":"Name","display_format":null,"advanced":true},{"key":"color","type":"id","label":"Color","display_format":null,"advanced":true},{"key":"continuous","type":"boolean","label":"Continuous","display_format":null,"advanced":true},{"key":"line_thickness","type":"integer","label":"Line Thickness","display_format":null,"advanced":true},{"key":"line_type","type":"string","label":"Line Type","options":[{"label":"SOLID","value":"SOLID"},{"label":"DOTTED","value":"DOTTED"},{"label":"DASHED","value":"DASHED"}],"display_format":null,"advanced":true},{"key":"sensor","type":"id","label":"Sensor","required":true,"display_format":null,"references_component":"sensor","advanced":true}]},{"key":"width","type":"integer","label":"Width","description":"Legend width in pixels. If not specified, width is automatically calculated.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"x_grid","type":"time_period","label":"X Grid","description":"Specifies the time per division. If not specified, no vertical grid will be drawn.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"},{"key":"y_grid","type":"float","label":"Y Grid","description":"Specifies the number of units per division. If not specified, no horizontal grid will be drawn.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/graph#configuration-variables"}]} diff --git a/esphome_device_builder/definitions/components/lvgl.json b/esphome_device_builder/definitions/components/lvgl.json index f34c9806a..5a51b1aa2 100644 --- a/esphome_device_builder/definitions/components/lvgl.json +++ b/esphome_device_builder/definitions/components/lvgl.json @@ -1 +1 @@ -{"id":"lvgl","name":"LVGL","description":"","category":"misc","docs_url":"https://esphome.io/components/lvgl","dependencies":["display"],"provides":["lvgl"],"provides_id_paths":{"lvgl":[["gradients","id"]]}} +{"id":"lvgl","name":"LVGL","description":"","category":"misc","docs_url":"https://esphome.io/components/lvgl","dependencies":["display"],"provides":["key_provider","lvgl"],"provides_id_paths":{"key_provider":[["widgets","buttonmatrix","id"],["widgets","keyboard","id"]],"lvgl":[["gradients","id"],["widgets","animimg","id"],["widgets","arc","id"],["widgets","bar","id"],["widgets","btnmatrix_btn","id"],["widgets","button","id"],["widgets","buttonmatrix","id"],["widgets","buttonmatrix","rows","buttons","id"],["widgets","canvas","draw_buf_id"],["widgets","canvas","id"],["widgets","checkbox","id"],["widgets","container","id"],["widgets","dropdown","id"],["widgets","dropdown_list","id"],["widgets","image","id"],["widgets","keyboard","id"],["widgets","label","id"],["widgets","led","id"],["widgets","line","id"],["widgets","list","id"],["widgets","lv_tileview_tile_t","id"],["widgets","meter","id"],["widgets","meter","scales","id"],["widgets","meter","scales","indicators","arc","id"],["widgets","meter","scales","indicators","image","id"],["widgets","meter","scales","indicators","image","image_id"],["widgets","meter","scales","indicators","line","id"],["widgets","meter","scales","indicators","tick_style","id"],["widgets","obj","id"],["widgets","page","id"],["widgets","qrcode","id"],["widgets","roller","id"],["widgets","slider","id"],["widgets","spinbox","id"],["widgets","spinner","id"],["widgets","switch","id"],["widgets","table","id"],["widgets","tabview","id"],["widgets","textarea","id"],["widgets","tileview","id"]]}} diff --git a/esphome_device_builder/definitions/components/opentherm.json b/esphome_device_builder/definitions/components/opentherm.json index 945f42abc..6637075bc 100644 --- a/esphome_device_builder/definitions/components/opentherm.json +++ b/esphome_device_builder/definitions/components/opentherm.json @@ -1 +1 @@ -{"id":"opentherm","name":"OpenTherm","description":"OpenTherm (OT) is a standard communications protocol used in central heating systems for the communication between central heating appliances and a thermostatic controller. As a standard, OpenTherm is independent of any single manufacturer. A controller from manufacturer A can in principle be used to control a boiler from manufacturer B.","category":"misc","docs_url":"https://esphome.io/components/opentherm","image_url":"https://esphome.io/images/opentherm.png","multi_conf":true,"config_entries":[{"key":"cooling_control","type":"id","label":"Cooling Control","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"in_pin","type":"pin","label":"In Pin","description":"The pin of the OpenTherm hardware bridge which is usually labeled `out` on the board.","required":true,"display_format":null,"pin_mode":"input","help_link":"https://esphome.io/components/opentherm#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"max_rel_mod_level","type":"id","label":"Max Rel Mod Level","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"max_t_set","type":"id","label":"Max T Set","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"otc_hc_ratio","type":"id","label":"Otc Hc Ratio","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"out_pin","type":"pin","label":"Out Pin","description":"The pin of the OpenTherm hardware bridge which is usually labeled `in` on the board.","required":true,"display_format":null,"pin_mode":"output","help_link":"https://esphome.io/components/opentherm#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"t_dhw_set","type":"id","label":"T DHW Set","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"t_room","type":"id","label":"T Room","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"t_room_set","type":"id","label":"T Room Set","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"t_room_set_ch2","type":"id","label":"T Room Set CH2","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"t_set","type":"id","label":"T Set","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"t_set_ch2","type":"id","label":"T Set CH2","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID used for code generation. Required if you have multiple busses.","advanced":true,"help_link":"https://esphome.io/components/opentherm#configuration-variables"},{"key":"before_process_response","type":"trigger","label":"Before Process Response","display_format":null,"advanced":true},{"key":"before_send","type":"trigger","label":"Before Send","display_format":null,"advanced":true},{"key":"ch2_active","type":"boolean","label":"CH2 Active","default_value":false,"display_format":null,"advanced":true},{"key":"ch_enable","type":"boolean","label":"CH Enable","default_value":true,"display_format":null,"advanced":true},{"key":"controller_configuration","type":"integer","label":"Controller Configuration","description":"Controller configuration","default_value":"0","range":[0,255],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/opentherm#configuration-variables"},{"key":"controller_id","type":"integer","label":"Controller ID","description":"Controller ID code","default_value":"0","range":[0,255],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/opentherm#configuration-variables"},{"key":"controller_product_type","type":"integer","label":"Controller Product Type","description":"Controller product type","default_value":"0","range":[0,255],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/opentherm#configuration-variables"},{"key":"controller_product_version","type":"integer","label":"Controller Product Version","description":"Controller product version","default_value":"0","range":[0,255],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/opentherm#configuration-variables"},{"key":"cooling_enable","type":"boolean","label":"Cooling Enable","default_value":false,"display_format":null,"advanced":true},{"key":"dhw_block","type":"boolean","label":"DHW Block","default_value":false,"display_format":null,"advanced":true},{"key":"dhw_enable","type":"boolean","label":"DHW Enable","default_value":true,"display_format":null,"advanced":true},{"key":"opentherm_version_controller","type":"float","label":"Opentherm Version Controller","description":"Version of OpenTherm implemented by controller","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/opentherm#configuration-variables"},{"key":"otc_active","type":"boolean","label":"Otc Active","default_value":false,"display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"summer_mode_active","type":"boolean","label":"Summer Mode Active","default_value":false,"display_format":null,"advanced":true},{"key":"sync_mode","type":"boolean","label":"Sync Mode","description":"Synchronous communication mode prevents other components from disabling interrupts while we are talking to the boiler. Enable if you experience a lot of random intermittent invalid response errors (very likely to happen while using Dallas temperature sensors).","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/opentherm#configuration-variables"}]} +{"id":"opentherm","name":"OpenTherm","description":"OpenTherm (OT) is a standard communications protocol used in central heating systems for the communication between central heating appliances and a thermostatic controller. As a standard, OpenTherm is independent of any single manufacturer. A controller from manufacturer A can in principle be used to control a boiler from manufacturer B.","category":"misc","docs_url":"https://esphome.io/components/opentherm","image_url":"https://esphome.io/images/opentherm.png","multi_conf":true,"config_entries":[{"key":"cooling_control","type":"id","label":"Cooling Control","display_format":null,"references_component":"sensor"},{"key":"in_pin","type":"pin","label":"In Pin","description":"The pin of the OpenTherm hardware bridge which is usually labeled `out` on the board.","required":true,"display_format":null,"pin_mode":"input","help_link":"https://esphome.io/components/opentherm#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"max_rel_mod_level","type":"id","label":"Max Rel Mod Level","display_format":null,"references_component":"sensor"},{"key":"max_t_set","type":"id","label":"Max T Set","display_format":null,"references_component":"sensor"},{"key":"otc_hc_ratio","type":"id","label":"Otc Hc Ratio","display_format":null,"references_component":"sensor"},{"key":"out_pin","type":"pin","label":"Out Pin","description":"The pin of the OpenTherm hardware bridge which is usually labeled `in` on the board.","required":true,"display_format":null,"pin_mode":"output","help_link":"https://esphome.io/components/opentherm#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"t_dhw_set","type":"id","label":"T DHW Set","display_format":null,"references_component":"sensor"},{"key":"t_room","type":"id","label":"T Room","display_format":null,"references_component":"sensor"},{"key":"t_room_set","type":"id","label":"T Room Set","display_format":null,"references_component":"sensor"},{"key":"t_room_set_ch2","type":"id","label":"T Room Set CH2","display_format":null,"references_component":"sensor"},{"key":"t_set","type":"id","label":"T Set","display_format":null,"references_component":"sensor"},{"key":"t_set_ch2","type":"id","label":"T Set CH2","display_format":null,"references_component":"sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID used for code generation. Required if you have multiple busses.","advanced":true,"help_link":"https://esphome.io/components/opentherm#configuration-variables"},{"key":"before_process_response","type":"trigger","label":"Before Process Response","display_format":null,"advanced":true},{"key":"before_send","type":"trigger","label":"Before Send","display_format":null,"advanced":true},{"key":"ch2_active","type":"boolean","label":"CH2 Active","default_value":false,"display_format":null,"advanced":true},{"key":"ch_enable","type":"boolean","label":"CH Enable","default_value":true,"display_format":null,"advanced":true},{"key":"controller_configuration","type":"integer","label":"Controller Configuration","description":"Controller configuration","default_value":"0","range":[0,255],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/opentherm#configuration-variables"},{"key":"controller_id","type":"integer","label":"Controller ID","description":"Controller ID code","default_value":"0","range":[0,255],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/opentherm#configuration-variables"},{"key":"controller_product_type","type":"integer","label":"Controller Product Type","description":"Controller product type","default_value":"0","range":[0,255],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/opentherm#configuration-variables"},{"key":"controller_product_version","type":"integer","label":"Controller Product Version","description":"Controller product version","default_value":"0","range":[0,255],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/opentherm#configuration-variables"},{"key":"cooling_enable","type":"boolean","label":"Cooling Enable","default_value":false,"display_format":null,"advanced":true},{"key":"dhw_block","type":"boolean","label":"DHW Block","default_value":false,"display_format":null,"advanced":true},{"key":"dhw_enable","type":"boolean","label":"DHW Enable","default_value":true,"display_format":null,"advanced":true},{"key":"opentherm_version_controller","type":"float","label":"Opentherm Version Controller","description":"Version of OpenTherm implemented by controller","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/opentherm#configuration-variables"},{"key":"otc_active","type":"boolean","label":"Otc Active","default_value":false,"display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"summer_mode_active","type":"boolean","label":"Summer Mode Active","default_value":false,"display_format":null,"advanced":true},{"key":"sync_mode","type":"boolean","label":"Sync Mode","description":"Synchronous communication mode prevents other components from disabling interrupts while we are talking to the boiler. Enable if you experience a lot of random intermittent invalid response errors (very likely to happen while using Dallas temperature sensors).","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/opentherm#configuration-variables"}]} diff --git a/esphome_device_builder/definitions/components/packet_transport.espnow.json b/esphome_device_builder/definitions/components/packet_transport.espnow.json index e44e6d508..6d8d3c509 100644 --- a/esphome_device_builder/definitions/components/packet_transport.espnow.json +++ b/esphome_device_builder/definitions/components/packet_transport.espnow.json @@ -1 +1 @@ -{"id":"packet_transport.espnow","name":"ESP-NOW Packet Transport Platform","description":"An ESP-NOW packet transport platform on ESPHome","category":"packet_transport","docs_url":"https://esphome.io/components/packet_transport/espnow","image_url":"https://esphome.io/images/esp-now.svg","dependencies":["espnow"],"multi_conf":true,"config_entries":[{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"15s","display_format":null},{"key":"espnow_id","type":"id","label":"Espnow ID","display_format":null,"references_component":"espnow"},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"binary_sensors","type":"nested","label":"Binary Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"binary_sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]},{"key":"peer_address","type":"mac_address","label":"Peer Address","default_value":"FF:FF:FF:FF:FF:FF","display_format":null,"advanced":true},{"key":"ping_pong_enable","type":"boolean","label":"Ping Pong Enable","default_value":false,"display_format":null,"advanced":true},{"key":"ping_pong_recycle_time","type":"time_period","label":"Ping Pong Recycle Time","default_value":"600s","display_format":null,"advanced":true},{"key":"providers","type":"nested","label":"Providers","default_value":"[]","display_format":null,"multi_value":true,"advanced":true,"platform_type":"packet_transport","config_entries":[{"key":"name","type":"string","label":"Name","required":true,"display_format":null,"advanced":true},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]}]},{"key":"rolling_code_enable","type":"boolean","label":"Rolling Code Enable","default_value":false,"display_format":null,"advanced":true},{"key":"sensors","type":"nested","label":"Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}]} +{"id":"packet_transport.espnow","name":"ESP-NOW Packet Transport Platform","description":"An ESP-NOW packet transport platform on ESPHome","category":"packet_transport","docs_url":"https://esphome.io/components/packet_transport/espnow","image_url":"https://esphome.io/images/esp-now.svg","dependencies":["espnow"],"multi_conf":true,"config_entries":[{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"15s","display_format":null},{"key":"espnow_id","type":"id","label":"Espnow ID","display_format":null,"references_component":"espnow"},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"binary_sensors","type":"nested","label":"Binary Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"binary_sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]},{"key":"peer_address","type":"mac_address","label":"Peer Address","default_value":"FF:FF:FF:FF:FF:FF","display_format":null,"advanced":true},{"key":"ping_pong_enable","type":"boolean","label":"Ping Pong Enable","default_value":false,"display_format":null,"advanced":true},{"key":"ping_pong_recycle_time","type":"time_period","label":"Ping Pong Recycle Time","default_value":"600s","display_format":null,"advanced":true},{"key":"providers","type":"nested","label":"Providers","default_value":"[]","display_format":null,"multi_value":true,"advanced":true,"platform_type":"packet_transport","config_entries":[{"key":"name","type":"string","label":"Name","required":true,"display_format":null,"advanced":true},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]}]},{"key":"rolling_code_enable","type":"boolean","label":"Rolling Code Enable","default_value":false,"display_format":null,"advanced":true},{"key":"sensors","type":"nested","label":"Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}]} diff --git a/esphome_device_builder/definitions/components/packet_transport.sx126x.json b/esphome_device_builder/definitions/components/packet_transport.sx126x.json index fe0efb889..7d2648190 100644 --- a/esphome_device_builder/definitions/components/packet_transport.sx126x.json +++ b/esphome_device_builder/definitions/components/packet_transport.sx126x.json @@ -1 +1 @@ -{"id":"packet_transport.sx126x","name":"SX126x Component","description":"The SX126x component allows you to configure the SX1261, SX1262, SX1268 and LLCC68 transceivers ([datasheet](https://www.semtech.com/products/wireless-rf/lora-connect/sx1262#documentation)) in ESPHome. Transceivers are connected via the [SPI Bus](https://esphome.io/components/spi). Supported frequencies range from 150 MHz to 960 MHz, including the popular 315 MHz, 433 MHz, 868 MHz, and 915 MHz ISM bands. Supported modulations include LoRa, FSK, GFSK, MSK and GMSK. The SX126x component may be used as a platform for the [Packet Transport Component](https://esphome.io/components/packet_transport#packet-transport) component, enabling sensor data to be sent directly from one ESPHome node to another.","category":"packet_transport","docs_url":"https://esphome.io/components/sx126x","image_url":"https://esphome.io/images/sx126x.png","dependencies":["spi","sx126x"],"multi_conf":true,"config_entries":[{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"15s","display_format":null},{"key":"sx126x_id","type":"id","label":"Sx126X ID","display_format":null,"references_component":"sx126x"},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"binary_sensors","type":"nested","label":"Binary Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"binary_sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]},{"key":"ping_pong_enable","type":"boolean","label":"Ping Pong Enable","default_value":false,"display_format":null,"advanced":true},{"key":"ping_pong_recycle_time","type":"time_period","label":"Ping Pong Recycle Time","default_value":"600s","display_format":null,"advanced":true},{"key":"providers","type":"nested","label":"Providers","default_value":"[]","display_format":null,"multi_value":true,"advanced":true,"platform_type":"packet_transport","config_entries":[{"key":"name","type":"string","label":"Name","required":true,"display_format":null,"advanced":true},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]}]},{"key":"rolling_code_enable","type":"boolean","label":"Rolling Code Enable","default_value":false,"display_format":null,"advanced":true},{"key":"sensors","type":"nested","label":"Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}]} +{"id":"packet_transport.sx126x","name":"SX126x Component","description":"The SX126x component allows you to configure the SX1261, SX1262, SX1268 and LLCC68 transceivers ([datasheet](https://www.semtech.com/products/wireless-rf/lora-connect/sx1262#documentation)) in ESPHome. Transceivers are connected via the [SPI Bus](https://esphome.io/components/spi). Supported frequencies range from 150 MHz to 960 MHz, including the popular 315 MHz, 433 MHz, 868 MHz, and 915 MHz ISM bands. Supported modulations include LoRa, FSK, GFSK, MSK and GMSK. The SX126x component may be used as a platform for the [Packet Transport Component](https://esphome.io/components/packet_transport#packet-transport) component, enabling sensor data to be sent directly from one ESPHome node to another.","category":"packet_transport","docs_url":"https://esphome.io/components/sx126x","image_url":"https://esphome.io/images/sx126x.png","dependencies":["spi","sx126x"],"multi_conf":true,"config_entries":[{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"15s","display_format":null},{"key":"sx126x_id","type":"id","label":"Sx126X ID","display_format":null,"references_component":"sx126x"},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"binary_sensors","type":"nested","label":"Binary Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"binary_sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]},{"key":"ping_pong_enable","type":"boolean","label":"Ping Pong Enable","default_value":false,"display_format":null,"advanced":true},{"key":"ping_pong_recycle_time","type":"time_period","label":"Ping Pong Recycle Time","default_value":"600s","display_format":null,"advanced":true},{"key":"providers","type":"nested","label":"Providers","default_value":"[]","display_format":null,"multi_value":true,"advanced":true,"platform_type":"packet_transport","config_entries":[{"key":"name","type":"string","label":"Name","required":true,"display_format":null,"advanced":true},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]}]},{"key":"rolling_code_enable","type":"boolean","label":"Rolling Code Enable","default_value":false,"display_format":null,"advanced":true},{"key":"sensors","type":"nested","label":"Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}]} diff --git a/esphome_device_builder/definitions/components/packet_transport.sx127x.json b/esphome_device_builder/definitions/components/packet_transport.sx127x.json index 4ea3b384e..1ba86c2d0 100644 --- a/esphome_device_builder/definitions/components/packet_transport.sx127x.json +++ b/esphome_device_builder/definitions/components/packet_transport.sx127x.json @@ -1 +1 @@ -{"id":"packet_transport.sx127x","name":"SX127x Component","description":"The SX127x component allows you to configure the SX1276, SX1277, SX1278 and SX1279 transceivers ([datasheet](https://www.semtech.com/products/wireless-rf/lora-connect/sx1278#documentation)) in ESPHome. Transceivers are connected via the [SPI Bus](https://esphome.io/components/spi). Supported frequencies range from 137 MHz to 1020 MHz, including the popular 315 MHz, 433 MHz, 868 MHz, and 915 MHz ISM bands. Supported modulations include LoRa, OOK, FSK, GFSK, MSK and GMSK. The SX127x component may be used as a platform for the [Packet Transport Component](https://esphome.io/components/packet_transport#packet-transport) component, enabling sensor data to be sent directly from one ESPHome node to another.","category":"packet_transport","docs_url":"https://esphome.io/components/sx127x","image_url":"https://esphome.io/images/sx127x.png","dependencies":["spi","sx127x"],"multi_conf":true,"config_entries":[{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"15s","display_format":null},{"key":"sx127x_id","type":"id","label":"Sx127X ID","display_format":null,"references_component":"sx127x"},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"binary_sensors","type":"nested","label":"Binary Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"binary_sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]},{"key":"ping_pong_enable","type":"boolean","label":"Ping Pong Enable","default_value":false,"display_format":null,"advanced":true},{"key":"ping_pong_recycle_time","type":"time_period","label":"Ping Pong Recycle Time","default_value":"600s","display_format":null,"advanced":true},{"key":"providers","type":"nested","label":"Providers","default_value":"[]","display_format":null,"multi_value":true,"advanced":true,"platform_type":"packet_transport","config_entries":[{"key":"name","type":"string","label":"Name","required":true,"display_format":null,"advanced":true},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]}]},{"key":"rolling_code_enable","type":"boolean","label":"Rolling Code Enable","default_value":false,"display_format":null,"advanced":true},{"key":"sensors","type":"nested","label":"Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}]} +{"id":"packet_transport.sx127x","name":"SX127x Component","description":"The SX127x component allows you to configure the SX1276, SX1277, SX1278 and SX1279 transceivers ([datasheet](https://www.semtech.com/products/wireless-rf/lora-connect/sx1278#documentation)) in ESPHome. Transceivers are connected via the [SPI Bus](https://esphome.io/components/spi). Supported frequencies range from 137 MHz to 1020 MHz, including the popular 315 MHz, 433 MHz, 868 MHz, and 915 MHz ISM bands. Supported modulations include LoRa, OOK, FSK, GFSK, MSK and GMSK. The SX127x component may be used as a platform for the [Packet Transport Component](https://esphome.io/components/packet_transport#packet-transport) component, enabling sensor data to be sent directly from one ESPHome node to another.","category":"packet_transport","docs_url":"https://esphome.io/components/sx127x","image_url":"https://esphome.io/images/sx127x.png","dependencies":["spi","sx127x"],"multi_conf":true,"config_entries":[{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"15s","display_format":null},{"key":"sx127x_id","type":"id","label":"Sx127X ID","display_format":null,"references_component":"sx127x"},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"binary_sensors","type":"nested","label":"Binary Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"binary_sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]},{"key":"ping_pong_enable","type":"boolean","label":"Ping Pong Enable","default_value":false,"display_format":null,"advanced":true},{"key":"ping_pong_recycle_time","type":"time_period","label":"Ping Pong Recycle Time","default_value":"600s","display_format":null,"advanced":true},{"key":"providers","type":"nested","label":"Providers","default_value":"[]","display_format":null,"multi_value":true,"advanced":true,"platform_type":"packet_transport","config_entries":[{"key":"name","type":"string","label":"Name","required":true,"display_format":null,"advanced":true},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]}]},{"key":"rolling_code_enable","type":"boolean","label":"Rolling Code Enable","default_value":false,"display_format":null,"advanced":true},{"key":"sensors","type":"nested","label":"Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}]} diff --git a/esphome_device_builder/definitions/components/packet_transport.uart.json b/esphome_device_builder/definitions/components/packet_transport.uart.json index e63628f19..895b9339f 100644 --- a/esphome_device_builder/definitions/components/packet_transport.uart.json +++ b/esphome_device_builder/definitions/components/packet_transport.uart.json @@ -1 +1 @@ -{"id":"packet_transport.uart","name":"UART Packet Transport Platform","description":"A UART packet transport platform on ESPHome","category":"packet_transport","docs_url":"https://esphome.io/components/packet_transport/uart","image_url":"https://esphome.io/images/uart.svg","dependencies":["uart"],"multi_conf":true,"config_entries":[{"key":"uart_id","type":"id","label":"UART ID","description":"The ID of the UART bus to use.","display_format":null,"references_component":"uart","help_link":"https://esphome.io/components/ufm01#configuration-variables"},{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"15s","display_format":null},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for this UART hub if you need multiple UART hubs.","advanced":true,"help_link":"https://esphome.io/components/packet_transport/uart"},{"key":"binary_sensors","type":"nested","label":"Binary Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"binary_sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]},{"key":"ping_pong_enable","type":"boolean","label":"Ping Pong Enable","default_value":false,"display_format":null,"advanced":true},{"key":"ping_pong_recycle_time","type":"time_period","label":"Ping Pong Recycle Time","default_value":"600s","display_format":null,"advanced":true},{"key":"providers","type":"nested","label":"Providers","default_value":"[]","display_format":null,"multi_value":true,"advanced":true,"platform_type":"packet_transport","config_entries":[{"key":"name","type":"string","label":"Name","required":true,"display_format":null,"advanced":true},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]}]},{"key":"rolling_code_enable","type":"boolean","label":"Rolling Code Enable","default_value":false,"display_format":null,"advanced":true},{"key":"sensors","type":"nested","label":"Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"required_groups":[{"kind":"at_least_one","keys":["tx_pin","rx_pin","port"]}]} +{"id":"packet_transport.uart","name":"UART Packet Transport Platform","description":"A UART packet transport platform on ESPHome","category":"packet_transport","docs_url":"https://esphome.io/components/packet_transport/uart","image_url":"https://esphome.io/images/uart.svg","dependencies":["uart"],"multi_conf":true,"config_entries":[{"key":"uart_id","type":"id","label":"UART ID","description":"The ID of the UART bus to use.","display_format":null,"references_component":"uart","help_link":"https://esphome.io/components/ufm01#configuration-variables"},{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"15s","display_format":null},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for this UART hub if you need multiple UART hubs.","advanced":true,"help_link":"https://esphome.io/components/packet_transport/uart"},{"key":"binary_sensors","type":"nested","label":"Binary Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"binary_sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]},{"key":"ping_pong_enable","type":"boolean","label":"Ping Pong Enable","default_value":false,"display_format":null,"advanced":true},{"key":"ping_pong_recycle_time","type":"time_period","label":"Ping Pong Recycle Time","default_value":"600s","display_format":null,"advanced":true},{"key":"providers","type":"nested","label":"Providers","default_value":"[]","display_format":null,"multi_value":true,"advanced":true,"platform_type":"packet_transport","config_entries":[{"key":"name","type":"string","label":"Name","required":true,"display_format":null,"advanced":true},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]}]},{"key":"rolling_code_enable","type":"boolean","label":"Rolling Code Enable","default_value":false,"display_format":null,"advanced":true},{"key":"sensors","type":"nested","label":"Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"required_groups":[{"kind":"at_least_one","keys":["tx_pin","rx_pin","port"]}]} diff --git a/esphome_device_builder/definitions/components/packet_transport.udp.json b/esphome_device_builder/definitions/components/packet_transport.udp.json index a113af936..8d3ada04c 100644 --- a/esphome_device_builder/definitions/components/packet_transport.udp.json +++ b/esphome_device_builder/definitions/components/packet_transport.udp.json @@ -1 +1 @@ -{"id":"packet_transport.udp","name":"UDP Component","description":"This component allows reception and transmission of data over a network using the [User Datagram Protocol (UDP)](https://en.wikipedia.org/wiki/User_Datagram_Protocol). In conjunction with the [Packet Transport Component](https://esphome.io/components/packet_transport#packet-transport) it can be used to broadcast sensor data.","category":"packet_transport","docs_url":"https://esphome.io/components/udp","image_url":"https://esphome.io/images/udp.svg","dependencies":["udp"],"multi_conf":true,"config_entries":[{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"15s","display_format":null},{"key":"udp_id","type":"id","label":"UDP ID","display_format":null,"references_component":"udp"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID used for code generation.","advanced":true,"help_link":"https://esphome.io/components/udp#configuration-variables"},{"key":"binary_sensors","type":"nested","label":"Binary Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"binary_sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]},{"key":"ping_pong_enable","type":"boolean","label":"Ping Pong Enable","default_value":false,"display_format":null,"advanced":true},{"key":"ping_pong_recycle_time","type":"time_period","label":"Ping Pong Recycle Time","default_value":"600s","display_format":null,"advanced":true},{"key":"providers","type":"nested","label":"Providers","default_value":"[]","display_format":null,"multi_value":true,"advanced":true,"platform_type":"packet_transport","config_entries":[{"key":"name","type":"string","label":"Name","required":true,"display_format":null,"advanced":true},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]}]},{"key":"rolling_code_enable","type":"boolean","label":"Rolling Code Enable","default_value":false,"display_format":null,"advanced":true},{"key":"sensors","type":"nested","label":"Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}]} +{"id":"packet_transport.udp","name":"UDP Component","description":"This component allows reception and transmission of data over a network using the [User Datagram Protocol (UDP)](https://en.wikipedia.org/wiki/User_Datagram_Protocol). In conjunction with the [Packet Transport Component](https://esphome.io/components/packet_transport#packet-transport) it can be used to broadcast sensor data.","category":"packet_transport","docs_url":"https://esphome.io/components/udp","image_url":"https://esphome.io/images/udp.svg","dependencies":["udp"],"multi_conf":true,"config_entries":[{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"15s","display_format":null},{"key":"udp_id","type":"id","label":"UDP ID","display_format":null,"references_component":"udp"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID used for code generation.","advanced":true,"help_link":"https://esphome.io/components/udp#configuration-variables"},{"key":"binary_sensors","type":"nested","label":"Binary Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"binary_sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]},{"key":"ping_pong_enable","type":"boolean","label":"Ping Pong Enable","default_value":false,"display_format":null,"advanced":true},{"key":"ping_pong_recycle_time","type":"time_period","label":"Ping Pong Recycle Time","default_value":"600s","display_format":null,"advanced":true},{"key":"providers","type":"nested","label":"Providers","default_value":"[]","display_format":null,"multi_value":true,"advanced":true,"platform_type":"packet_transport","config_entries":[{"key":"name","type":"string","label":"Name","required":true,"display_format":null,"advanced":true},{"key":"encryption","type":"nested","label":"Encryption","display_format":null,"maybe_key":"key","advanced":true,"config_entries":[{"key":"key","type":"secure_string","label":"Key","required":true,"display_format":null,"advanced":true}]}]},{"key":"rolling_code_enable","type":"boolean","label":"Rolling Code Enable","default_value":false,"display_format":null,"advanced":true},{"key":"sensors","type":"nested","label":"Sensors","display_format":null,"multi_value":true,"maybe_key":"id","advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"sensor"},{"key":"broadcast_id","type":"string","label":"Broadcast ID","display_format":null}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}]} diff --git a/esphome_device_builder/definitions/components/sensor.absolute_humidity.json b/esphome_device_builder/definitions/components/sensor.absolute_humidity.json index 8c06d95a5..6612ed439 100644 --- a/esphome_device_builder/definitions/components/sensor.absolute_humidity.json +++ b/esphome_device_builder/definitions/components/sensor.absolute_humidity.json @@ -1 +1 @@ -{"id":"sensor.absolute_humidity","name":"Absolute Humidity","description":"The `absolute_humidity` platform allows you to calculate absolute humidity from air temperature and relative humidity.","category":"sensor","docs_url":"https://esphome.io/components/sensor/absolute_humidity","image_url":"https://esphome.io/images/water-drop.svg","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"humidity","type":"id","label":"Humidity","description":"The sensor that is used to measure the current relative humidity, in %.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/absolute_humidity#configuration-variables"},{"key":"temperature","type":"id","label":"Temperature","description":"The sensor that is used to measure the current temperature, in °C.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/absolute_humidity#configuration-variables"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"absolute_humidity","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"g/m³","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"equation","type":"string","label":"Equation","description":"The saturated vapor pressure equation to use (see below).","default_value":"WOBUS","options":[{"label":"BUCK","value":"BUCK"},{"label":"TETENS","value":"TETENS"},{"label":"WOBUS","value":"WOBUS"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/absolute_humidity#configuration-variables"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"sensor.absolute_humidity","name":"Absolute Humidity","description":"The `absolute_humidity` platform allows you to calculate absolute humidity from air temperature and relative humidity.","category":"sensor","docs_url":"https://esphome.io/components/sensor/absolute_humidity","image_url":"https://esphome.io/images/water-drop.svg","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"humidity","type":"id","label":"Humidity","description":"The sensor that is used to measure the current relative humidity, in %.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/absolute_humidity#configuration-variables"},{"key":"temperature","type":"id","label":"Temperature","description":"The sensor that is used to measure the current temperature, in °C.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/absolute_humidity#configuration-variables"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"absolute_humidity","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"g/m³","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"equation","type":"string","label":"Equation","description":"The saturated vapor pressure equation to use (see below).","default_value":"WOBUS","options":[{"label":"BUCK","value":"BUCK"},{"label":"TETENS","value":"TETENS"},{"label":"WOBUS","value":"WOBUS"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/absolute_humidity#configuration-variables"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/sensor.ade7880.json b/esphome_device_builder/definitions/components/sensor.ade7880.json index d866174ee..5a983c07c 100644 --- a/esphome_device_builder/definitions/components/sensor.ade7880.json +++ b/esphome_device_builder/definitions/components/sensor.ade7880.json @@ -1 +1 @@ -{"id":"sensor.ade7880","name":"ADE7880 Power Sensor","description":"The `ade7880` sensor platform allows you to use ADE7880 voltage/current/power sensors ([datasheet](https://www.analog.com/media/en/technical-documentation/data-sheets/ADE7880.pdf)) with ESPHome. This sensor chip is commonly found in Shelly 3EM and 3EM Pro devices.","category":"sensor","docs_url":"https://esphome.io/components/sensor/ade7880","image_url":"https://esphome.io/images/ade7880.svg","dependencies":["i2c"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"56","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","description":"Specify the ID of the [I2C Component](https://esphome.io/components/i2c) if your configuration includes multiple I2C buses.","display_format":null,"references_component":"i2c","help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to report the sensor values. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"irq0_pin","type":"pin","label":"IRQ0 Pin","description":"The GPIO pin that the ADE7880's IRQ0 output is connected to, if any. The `ade7880` component does not use this input, but if the IRQ0 output is connected to a GPIO and that GPIO is *not* configured as an `input`, the chip will produce excessive heat and its lifetime could be shortened. The simplest way to ensure that the GPIO pin is properly connected is to supply it here, but if you wish to configure it elsewhere in your configuration that is a reasonable alternative.","display_format":null,"pin_mode":"input","help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"irq1_pin","type":"pin","label":"IRQ1 Pin","description":"The GPIO pin that the ADE7880's IRQ1 output is connected to. The `ade7880` component uses this input to determine when the ADE7880 chip has completed its power-up and reset cycles.","required":true,"display_format":null,"pin_mode":"input","help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"reset_pin","type":"pin","label":"Reset Pin","description":"The GPIO pin that the ADE7880's RESET input is connected to, if any. If this pin is configured, the `ade7880` component will use it to initiate a 'hardware reset' of the chip when needed; if this pin is not configured, the component will attempt to initiate a 'software reset' of the chip when needed, but this could fail if the chip is not responding properly to the I2C bus.","display_format":null,"pin_mode":"output","help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"frequency","type":"float_with_unit","label":"Frequency","description":"The AC line frequency of the supply voltage. The supported range is `45Hz` to `66Hz`. Defaults to `50Hz`.","default_value":"50Hz","range":[45.0,66.0],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","unit_options":["Hz","nHz","µHz","mHz","kHz","MHz","GHz"]},{"key":"neutral","type":"nested","label":"Neutral","description":"The configuration variables for the 'neutral' phase of the chip.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the phase, which will be used a prefix in the names of all of the phase's sensors.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"calibration","type":"nested","label":"Calibration","description":"The calibration values necessary for this phase's sensors to report correct values.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"current_gain","type":"integer","label":"Current Gain","description":"The value for the `NIGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"}]},{"key":"current","type":"nested","label":"Current","description":"Report the RMS current value of the neutral in amperes (A). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true}]},{"key":"phase_a","type":"nested","label":"Phase A","description":"The configuration variables for the 'A' phase inputs of the chip. Refer to the configuration examples below for the `simple` and `detailed` sensor configuration options.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the phase, which will be used a prefix in the names of all of the phase's sensors.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"active_power","type":"nested","label":"Active Power","description":"Report the active (consumed) power value of this phase in watts (W). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Report the apparent (voltage multiplied by current) power value of this phase in volt-amperes (VA). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"calibration","type":"nested","label":"Calibration","description":"The calibration values necessary for this phase's sensors to report correct values.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"current_gain","type":"integer","label":"Current Gain","description":"The value for the `AIGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"phase_angle","type":"integer","label":"Phase Angle","description":"The value for the `APHCAL` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"power_gain","type":"integer","label":"Power Gain","description":"The value for the `APGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"voltage_gain","type":"integer","label":"Voltage Gain","description":"The value for the `AVGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"}]},{"key":"current","type":"nested","label":"Current","description":"Report the RMS current value of this phase in amperes (A). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"forward_active_energy","type":"nested","label":"Forward Active Energy","description":"Report the forward active energy value of this phase in watt-hours (Wh). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Report the power factor value of this phase as a percentage (%). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"reverse_active_energy","type":"nested","label":"Reverse Active Energy","description":"Report the reverse active energy value of this phase in volt-ampere-reactive-hours (VARh). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"varh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Report the RMS voltage value of this phase in volts (V). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true}]},{"key":"phase_b","type":"nested","label":"Phase B","description":"The configuration variables for the 'B' phase inputs of the chip. Identical to `phase_a`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the phase, which will be used a prefix in the names of all of the phase's sensors.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"active_power","type":"nested","label":"Active Power","description":"Report the active (consumed) power value of this phase in watts (W). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Report the apparent (voltage multiplied by current) power value of this phase in volt-amperes (VA). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"calibration","type":"nested","label":"Calibration","description":"The calibration values necessary for this phase's sensors to report correct values.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"current_gain","type":"integer","label":"Current Gain","description":"The value for the `AIGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"phase_angle","type":"integer","label":"Phase Angle","description":"The value for the `APHCAL` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"power_gain","type":"integer","label":"Power Gain","description":"The value for the `APGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"voltage_gain","type":"integer","label":"Voltage Gain","description":"The value for the `AVGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"}]},{"key":"current","type":"nested","label":"Current","description":"Report the RMS current value of this phase in amperes (A). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"forward_active_energy","type":"nested","label":"Forward Active Energy","description":"Report the forward active energy value of this phase in watt-hours (Wh). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Report the power factor value of this phase as a percentage (%). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"reverse_active_energy","type":"nested","label":"Reverse Active Energy","description":"Report the reverse active energy value of this phase in volt-ampere-reactive-hours (VARh). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"varh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Report the RMS voltage value of this phase in volts (V). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true}]},{"key":"phase_c","type":"nested","label":"Phase C","description":"The configuration variables for the 'C' phase inputs of the chip. Identical to `phase_a`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the phase, which will be used a prefix in the names of all of the phase's sensors.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"active_power","type":"nested","label":"Active Power","description":"Report the active (consumed) power value of this phase in watts (W). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Report the apparent (voltage multiplied by current) power value of this phase in volt-amperes (VA). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"calibration","type":"nested","label":"Calibration","description":"The calibration values necessary for this phase's sensors to report correct values.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"current_gain","type":"integer","label":"Current Gain","description":"The value for the `AIGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"phase_angle","type":"integer","label":"Phase Angle","description":"The value for the `APHCAL` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"power_gain","type":"integer","label":"Power Gain","description":"The value for the `APGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"voltage_gain","type":"integer","label":"Voltage Gain","description":"The value for the `AVGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"}]},{"key":"current","type":"nested","label":"Current","description":"Report the RMS current value of this phase in amperes (A). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"forward_active_energy","type":"nested","label":"Forward Active Energy","description":"Report the forward active energy value of this phase in watt-hours (Wh). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Report the power factor value of this phase as a percentage (%). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"reverse_active_energy","type":"nested","label":"Reverse Active Energy","description":"Report the reverse active energy value of this phase in volt-ampere-reactive-hours (VARh). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"varh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Report the RMS voltage value of this phase in volts (V). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["neutral","current","id"]]}} +{"id":"sensor.ade7880","name":"ADE7880 Power Sensor","description":"The `ade7880` sensor platform allows you to use ADE7880 voltage/current/power sensors ([datasheet](https://www.analog.com/media/en/technical-documentation/data-sheets/ADE7880.pdf)) with ESPHome. This sensor chip is commonly found in Shelly 3EM and 3EM Pro devices.","category":"sensor","docs_url":"https://esphome.io/components/sensor/ade7880","image_url":"https://esphome.io/images/ade7880.svg","dependencies":["i2c"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"56","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","description":"Specify the ID of the [I2C Component](https://esphome.io/components/i2c) if your configuration includes multiple I2C buses.","display_format":null,"references_component":"i2c","help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to report the sensor values. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"irq0_pin","type":"pin","label":"IRQ0 Pin","description":"The GPIO pin that the ADE7880's IRQ0 output is connected to, if any. The `ade7880` component does not use this input, but if the IRQ0 output is connected to a GPIO and that GPIO is *not* configured as an `input`, the chip will produce excessive heat and its lifetime could be shortened. The simplest way to ensure that the GPIO pin is properly connected is to supply it here, but if you wish to configure it elsewhere in your configuration that is a reasonable alternative.","display_format":null,"pin_mode":"input","help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"irq1_pin","type":"pin","label":"IRQ1 Pin","description":"The GPIO pin that the ADE7880's IRQ1 output is connected to. The `ade7880` component uses this input to determine when the ADE7880 chip has completed its power-up and reset cycles.","required":true,"display_format":null,"pin_mode":"input","help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"reset_pin","type":"pin","label":"Reset Pin","description":"The GPIO pin that the ADE7880's RESET input is connected to, if any. If this pin is configured, the `ade7880` component will use it to initiate a 'hardware reset' of the chip when needed; if this pin is not configured, the component will attempt to initiate a 'software reset' of the chip when needed, but this could fail if the chip is not responding properly to the I2C bus.","display_format":null,"pin_mode":"output","help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"frequency","type":"float_with_unit","label":"Frequency","description":"The AC line frequency of the supply voltage. The supported range is `45Hz` to `66Hz`. Defaults to `50Hz`.","default_value":"50Hz","range":[45.0,66.0],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","unit_options":["Hz","nHz","µHz","mHz","kHz","MHz","GHz"]},{"key":"neutral","type":"nested","label":"Neutral","description":"The configuration variables for the 'neutral' phase of the chip.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the phase, which will be used a prefix in the names of all of the phase's sensors.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"calibration","type":"nested","label":"Calibration","description":"The calibration values necessary for this phase's sensors to report correct values.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"current_gain","type":"integer","label":"Current Gain","description":"The value for the `NIGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"}]},{"key":"current","type":"nested","label":"Current","description":"Report the RMS current value of the neutral in amperes (A). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true}]},{"key":"phase_a","type":"nested","label":"Phase A","description":"The configuration variables for the 'A' phase inputs of the chip. Refer to the configuration examples below for the `simple` and `detailed` sensor configuration options.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the phase, which will be used a prefix in the names of all of the phase's sensors.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"active_power","type":"nested","label":"Active Power","description":"Report the active (consumed) power value of this phase in watts (W). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Report the apparent (voltage multiplied by current) power value of this phase in volt-amperes (VA). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"calibration","type":"nested","label":"Calibration","description":"The calibration values necessary for this phase's sensors to report correct values.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"current_gain","type":"integer","label":"Current Gain","description":"The value for the `AIGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"phase_angle","type":"integer","label":"Phase Angle","description":"The value for the `APHCAL` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"power_gain","type":"integer","label":"Power Gain","description":"The value for the `APGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"voltage_gain","type":"integer","label":"Voltage Gain","description":"The value for the `AVGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"}]},{"key":"current","type":"nested","label":"Current","description":"Report the RMS current value of this phase in amperes (A). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"forward_active_energy","type":"nested","label":"Forward Active Energy","description":"Report the forward active energy value of this phase in watt-hours (Wh). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Report the power factor value of this phase as a percentage (%). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"reverse_active_energy","type":"nested","label":"Reverse Active Energy","description":"Report the reverse active energy value of this phase in volt-ampere-reactive-hours (VARh). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"varh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Report the RMS voltage value of this phase in volts (V). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true}]},{"key":"phase_b","type":"nested","label":"Phase B","description":"The configuration variables for the 'B' phase inputs of the chip. Identical to `phase_a`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the phase, which will be used a prefix in the names of all of the phase's sensors.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"active_power","type":"nested","label":"Active Power","description":"Report the active (consumed) power value of this phase in watts (W). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Report the apparent (voltage multiplied by current) power value of this phase in volt-amperes (VA). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"calibration","type":"nested","label":"Calibration","description":"The calibration values necessary for this phase's sensors to report correct values.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"current_gain","type":"integer","label":"Current Gain","description":"The value for the `AIGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"phase_angle","type":"integer","label":"Phase Angle","description":"The value for the `APHCAL` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"power_gain","type":"integer","label":"Power Gain","description":"The value for the `APGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"voltage_gain","type":"integer","label":"Voltage Gain","description":"The value for the `AVGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"}]},{"key":"current","type":"nested","label":"Current","description":"Report the RMS current value of this phase in amperes (A). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"forward_active_energy","type":"nested","label":"Forward Active Energy","description":"Report the forward active energy value of this phase in watt-hours (Wh). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Report the power factor value of this phase as a percentage (%). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"reverse_active_energy","type":"nested","label":"Reverse Active Energy","description":"Report the reverse active energy value of this phase in volt-ampere-reactive-hours (VARh). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"varh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Report the RMS voltage value of this phase in volts (V). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true}]},{"key":"phase_c","type":"nested","label":"Phase C","description":"The configuration variables for the 'C' phase inputs of the chip. Identical to `phase_a`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name of the phase, which will be used a prefix in the names of all of the phase's sensors.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"active_power","type":"nested","label":"Active Power","description":"Report the active (consumed) power value of this phase in watts (W). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Report the apparent (voltage multiplied by current) power value of this phase in volt-amperes (VA). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"calibration","type":"nested","label":"Calibration","description":"The calibration values necessary for this phase's sensors to report correct values.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","config_entries":[{"key":"current_gain","type":"integer","label":"Current Gain","description":"The value for the `AIGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"phase_angle","type":"integer","label":"Phase Angle","description":"The value for the `APHCAL` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"power_gain","type":"integer","label":"Power Gain","description":"The value for the `APGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"},{"key":"voltage_gain","type":"integer","label":"Voltage Gain","description":"The value for the `AVGAIN` calibration register.","required":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables"}]},{"key":"current","type":"nested","label":"Current","description":"Report the RMS current value of this phase in amperes (A). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"forward_active_energy","type":"nested","label":"Forward Active Energy","description":"Report the forward active energy value of this phase in watt-hours (Wh). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Report the power factor value of this phase as a percentage (%). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"reverse_active_energy","type":"nested","label":"Reverse Active Energy","description":"Report the reverse active energy value of this phase in volt-ampere-reactive-hours (VARh). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"varh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Report the RMS voltage value of this phase in volts (V). In detailed configuration mode, all options from [Sensor](https://esphome.io/components/sensor) are supported.","display_format":null,"maybe_key":"name","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7880#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","advanced":true},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["neutral","current","id"],["phase_a","active_power","id"],["phase_a","apparent_power","id"],["phase_a","current","id"],["phase_a","forward_active_energy","id"],["phase_a","power_factor","id"],["phase_a","reverse_active_energy","id"],["phase_a","voltage","id"],["phase_b","active_power","id"],["phase_b","apparent_power","id"],["phase_b","current","id"],["phase_b","forward_active_energy","id"],["phase_b","power_factor","id"],["phase_b","reverse_active_energy","id"],["phase_b","voltage","id"],["phase_c","active_power","id"],["phase_c","apparent_power","id"],["phase_c","current","id"],["phase_c","forward_active_energy","id"],["phase_c","power_factor","id"],["phase_c","reverse_active_energy","id"],["phase_c","voltage","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.ade7953_i2c.json b/esphome_device_builder/definitions/components/sensor.ade7953_i2c.json index 51b616b66..649914f05 100644 --- a/esphome_device_builder/definitions/components/sensor.ade7953_i2c.json +++ b/esphome_device_builder/definitions/components/sensor.ade7953_i2c.json @@ -1 +1 @@ -{"id":"sensor.ade7953_i2c","name":"ADE7953 Power Sensor","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/ade7953","dependencies":["i2c"],"multi_conf":true,"config_entries":[{"key":"address","type":"integer","label":"Address","description":"Manually specify the I²C address of the sensor. Defaults to `0x38`.","default_value":"56","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"active_power_a","type":"nested","label":"Active Power A","description":"Use the power value of the A channel in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"active_power_b","type":"nested","label":"Active Power B","description":"Use the power value of the B channel in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"apparent_power_a","type":"nested","label":"Apparent Power A","description":"Use the apparent power value of the A channel in volt amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"apparent_power_b","type":"nested","label":"Apparent Power B","description":"Use the apparent power value of the B channel in volt amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current_a","type":"nested","label":"Current A","description":"Use the current value of the A channel in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current_b","type":"nested","label":"Current B","description":"Use the current value of the B channel in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"frequency","type":"nested","label":"Frequency","description":"Use the frequency value of the sensor in hertzs. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"frequency","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Hz","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"irq_pin","type":"pin","label":"IRQ Pin","description":"The pin connected to the ADE7935 IRQ line (if connected)","display_format":null,"pin_mode":"input","help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"power_factor_a","type":"nested","label":"Power Factor A","description":"Use the power factor of the A channel in percentage. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power_factor_b","type":"nested","label":"Power Factor B","description":"Use the power factor of the B channel in percentage. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power_a","type":"nested","label":"Reactive Power A","description":"Use the reactive power value of the A channel in volt amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power_b","type":"nested","label":"Reactive Power B","description":"Use the reactive power value of the B channel in volt amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"active_power_gain_a","type":"integer","label":"Active Power Gain A","description":"Set the active power amplification of the A channel. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"active_power_gain_b","type":"integer","label":"Active Power Gain B","description":"Set the active power amplification of the B channel. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"current_gain_a","type":"integer","label":"Current Gain A","description":"Set the current amplification of the A channel. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"current_gain_b","type":"integer","label":"Current Gain B","description":"Set the current amplification of the B channel. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"current_pga_gain_a","type":"string","label":"Current Pga Gain A","description":"Set the input PGA current amplification of the A channel. Defaults to `1x`.","default_value":"1x","options":[{"label":"1x","value":"1x"},{"label":"2x","value":"2x"},{"label":"4x","value":"4x"},{"label":"8x","value":"8x"},{"label":"16x","value":"16x"},{"label":"22x","value":"22x"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"current_pga_gain_b","type":"string","label":"Current Pga Gain B","description":"Set input PGA current amplification of the B channel. Defaults to `1x`.","default_value":"1x","options":[{"label":"1x","value":"1x"},{"label":"2x","value":"2x"},{"label":"4x","value":"4x"},{"label":"8x","value":"8x"},{"label":"16x","value":"16x"},{"label":"22x","value":"22x"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"use_accumulated_energy_registers","type":"boolean","label":"Use Accumulated Energy Registers","description":"Use ADE7935 accumulated energy registers instead of instant power registers. These registers store the accumulated energy since the last read and should provide better accuracy for power calculation. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"voltage_gain","type":"integer","label":"Voltage Gain","description":"Set the voltage amplification. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"voltage_pga_gain","type":"string","label":"Voltage Pga Gain","description":"Set the input PGA voltage amplification. Defaults to `1x`.","default_value":"1x","options":[{"label":"1x","value":"1x"},{"label":"2x","value":"2x"},{"label":"4x","value":"4x"},{"label":"8x","value":"8x"},{"label":"16x","value":"16x"},{"label":"22x","value":"22x"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"}],"id_classes":["ade7953_base::ADE7953","ade7953_i2c::AdE7953I2c","i2c::I2CDevice"]} +{"id":"sensor.ade7953_i2c","name":"ADE7953 Power Sensor","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/ade7953","dependencies":["i2c"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"Manually specify the I²C address of the sensor. Defaults to `0x38`.","default_value":"56","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"active_power_a","type":"nested","label":"Active Power A","description":"Use the power value of the A channel in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"active_power_b","type":"nested","label":"Active Power B","description":"Use the power value of the B channel in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"apparent_power_a","type":"nested","label":"Apparent Power A","description":"Use the apparent power value of the A channel in volt amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"apparent_power_b","type":"nested","label":"Apparent Power B","description":"Use the apparent power value of the B channel in volt amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current_a","type":"nested","label":"Current A","description":"Use the current value of the A channel in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current_b","type":"nested","label":"Current B","description":"Use the current value of the B channel in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"frequency","type":"nested","label":"Frequency","description":"Use the frequency value of the sensor in hertzs. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"frequency","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Hz","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"irq_pin","type":"pin","label":"IRQ Pin","description":"The pin connected to the ADE7935 IRQ line (if connected)","display_format":null,"pin_mode":"input","help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"power_factor_a","type":"nested","label":"Power Factor A","description":"Use the power factor of the A channel in percentage. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power_factor_b","type":"nested","label":"Power Factor B","description":"Use the power factor of the B channel in percentage. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power_a","type":"nested","label":"Reactive Power A","description":"Use the reactive power value of the A channel in volt amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power_b","type":"nested","label":"Reactive Power B","description":"Use the reactive power value of the B channel in volt amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"active_power_gain_a","type":"integer","label":"Active Power Gain A","description":"Set the active power amplification of the A channel. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"active_power_gain_b","type":"integer","label":"Active Power Gain B","description":"Set the active power amplification of the B channel. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"current_gain_a","type":"integer","label":"Current Gain A","description":"Set the current amplification of the A channel. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"current_gain_b","type":"integer","label":"Current Gain B","description":"Set the current amplification of the B channel. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"current_pga_gain_a","type":"string","label":"Current Pga Gain A","description":"Set the input PGA current amplification of the A channel. Defaults to `1x`.","default_value":"1x","options":[{"label":"1x","value":"1x"},{"label":"2x","value":"2x"},{"label":"4x","value":"4x"},{"label":"8x","value":"8x"},{"label":"16x","value":"16x"},{"label":"22x","value":"22x"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"current_pga_gain_b","type":"string","label":"Current Pga Gain B","description":"Set input PGA current amplification of the B channel. Defaults to `1x`.","default_value":"1x","options":[{"label":"1x","value":"1x"},{"label":"2x","value":"2x"},{"label":"4x","value":"4x"},{"label":"8x","value":"8x"},{"label":"16x","value":"16x"},{"label":"22x","value":"22x"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"use_accumulated_energy_registers","type":"boolean","label":"Use Accumulated Energy Registers","description":"Use ADE7935 accumulated energy registers instead of instant power registers. These registers store the accumulated energy since the last read and should provide better accuracy for power calculation. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"voltage_gain","type":"integer","label":"Voltage Gain","description":"Set the voltage amplification. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"voltage_pga_gain","type":"string","label":"Voltage Pga Gain","description":"Set the input PGA voltage amplification. Defaults to `1x`.","default_value":"1x","options":[{"label":"1x","value":"1x"},{"label":"2x","value":"2x"},{"label":"4x","value":"4x"},{"label":"8x","value":"8x"},{"label":"16x","value":"16x"},{"label":"22x","value":"22x"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"}],"provides_id_paths":{"sensor":[["active_power_a","id"],["active_power_b","id"],["apparent_power_a","id"],["apparent_power_b","id"],["current_a","id"],["current_b","id"],["frequency","id"],["power_factor_a","id"],["power_factor_b","id"],["reactive_power_a","id"],["reactive_power_b","id"],["voltage","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.ade7953_spi.json b/esphome_device_builder/definitions/components/sensor.ade7953_spi.json index 0bcb7d571..cfac47383 100644 --- a/esphome_device_builder/definitions/components/sensor.ade7953_spi.json +++ b/esphome_device_builder/definitions/components/sensor.ade7953_spi.json @@ -1 +1 @@ -{"id":"sensor.ade7953_spi","name":"Ade7953 SPI","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/ade7953","dependencies":["spi"],"multi_conf":true,"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"active_power_a","type":"nested","label":"Active Power A","description":"Use the power value of the A channel in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"active_power_b","type":"nested","label":"Active Power B","description":"Use the power value of the B channel in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"apparent_power_a","type":"nested","label":"Apparent Power A","description":"Use the apparent power value of the A channel in volt amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"apparent_power_b","type":"nested","label":"Apparent Power B","description":"Use the apparent power value of the B channel in volt amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"current_a","type":"nested","label":"Current A","description":"Use the current value of the A channel in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current_b","type":"nested","label":"Current B","description":"Use the current value of the B channel in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"frequency","type":"nested","label":"Frequency","description":"Use the frequency value of the sensor in hertzs. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"frequency","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Hz","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"irq_pin","type":"pin","label":"IRQ Pin","description":"The pin connected to the ADE7935 IRQ line (if connected)","display_format":null,"pin_mode":"input","help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"power_factor_a","type":"nested","label":"Power Factor A","description":"Use the power factor of the A channel in percentage. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power_factor_b","type":"nested","label":"Power Factor B","description":"Use the power factor of the B channel in percentage. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power_a","type":"nested","label":"Reactive Power A","description":"Use the reactive power value of the A channel in volt amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power_b","type":"nested","label":"Reactive Power B","description":"Use the reactive power value of the B channel in volt amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"active_power_gain_a","type":"integer","label":"Active Power Gain A","description":"Set the active power amplification of the A channel. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"active_power_gain_b","type":"integer","label":"Active Power Gain B","description":"Set the active power amplification of the B channel. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"current_gain_a","type":"integer","label":"Current Gain A","description":"Set the current amplification of the A channel. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"current_gain_b","type":"integer","label":"Current Gain B","description":"Set the current amplification of the B channel. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"current_pga_gain_a","type":"string","label":"Current Pga Gain A","description":"Set the input PGA current amplification of the A channel. Defaults to `1x`.","default_value":"1x","options":[{"label":"1x","value":"1x"},{"label":"2x","value":"2x"},{"label":"4x","value":"4x"},{"label":"8x","value":"8x"},{"label":"16x","value":"16x"},{"label":"22x","value":"22x"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"current_pga_gain_b","type":"string","label":"Current Pga Gain B","description":"Set input PGA current amplification of the B channel. Defaults to `1x`.","default_value":"1x","options":[{"label":"1x","value":"1x"},{"label":"2x","value":"2x"},{"label":"4x","value":"4x"},{"label":"8x","value":"8x"},{"label":"16x","value":"16x"},{"label":"22x","value":"22x"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true},{"key":"use_accumulated_energy_registers","type":"boolean","label":"Use Accumulated Energy Registers","description":"Use ADE7935 accumulated energy registers instead of instant power registers. These registers store the accumulated energy since the last read and should provide better accuracy for power calculation. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"voltage_gain","type":"integer","label":"Voltage Gain","description":"Set the voltage amplification. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"voltage_pga_gain","type":"string","label":"Voltage Pga Gain","description":"Set the input PGA voltage amplification. Defaults to `1x`.","default_value":"1x","options":[{"label":"1x","value":"1x"},{"label":"2x","value":"2x"},{"label":"4x","value":"4x"},{"label":"8x","value":"8x"},{"label":"16x","value":"16x"},{"label":"22x","value":"22x"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"}],"id_classes":["ade7953_base::ADE7953","ade7953_spi::AdE7953Spi","spi::SPIDevice"]} +{"id":"sensor.ade7953_spi","name":"Ade7953 SPI","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/ade7953","dependencies":["spi"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"active_power_a","type":"nested","label":"Active Power A","description":"Use the power value of the A channel in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"active_power_b","type":"nested","label":"Active Power B","description":"Use the power value of the B channel in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"apparent_power_a","type":"nested","label":"Apparent Power A","description":"Use the apparent power value of the A channel in volt amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"apparent_power_b","type":"nested","label":"Apparent Power B","description":"Use the apparent power value of the B channel in volt amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"current_a","type":"nested","label":"Current A","description":"Use the current value of the A channel in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current_b","type":"nested","label":"Current B","description":"Use the current value of the B channel in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"frequency","type":"nested","label":"Frequency","description":"Use the frequency value of the sensor in hertzs. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"frequency","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Hz","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"irq_pin","type":"pin","label":"IRQ Pin","description":"The pin connected to the ADE7935 IRQ line (if connected)","display_format":null,"pin_mode":"input","help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"power_factor_a","type":"nested","label":"Power Factor A","description":"Use the power factor of the A channel in percentage. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power_factor_b","type":"nested","label":"Power Factor B","description":"Use the power factor of the B channel in percentage. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power_a","type":"nested","label":"Reactive Power A","description":"Use the reactive power value of the A channel in volt amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power_b","type":"nested","label":"Reactive Power B","description":"Use the reactive power value of the B channel in volt amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"active_power_gain_a","type":"integer","label":"Active Power Gain A","description":"Set the active power amplification of the A channel. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"active_power_gain_b","type":"integer","label":"Active Power Gain B","description":"Set the active power amplification of the B channel. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"current_gain_a","type":"integer","label":"Current Gain A","description":"Set the current amplification of the A channel. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"current_gain_b","type":"integer","label":"Current Gain B","description":"Set the current amplification of the B channel. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"current_pga_gain_a","type":"string","label":"Current Pga Gain A","description":"Set the input PGA current amplification of the A channel. Defaults to `1x`.","default_value":"1x","options":[{"label":"1x","value":"1x"},{"label":"2x","value":"2x"},{"label":"4x","value":"4x"},{"label":"8x","value":"8x"},{"label":"16x","value":"16x"},{"label":"22x","value":"22x"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"current_pga_gain_b","type":"string","label":"Current Pga Gain B","description":"Set input PGA current amplification of the B channel. Defaults to `1x`.","default_value":"1x","options":[{"label":"1x","value":"1x"},{"label":"2x","value":"2x"},{"label":"4x","value":"4x"},{"label":"8x","value":"8x"},{"label":"16x","value":"16x"},{"label":"22x","value":"22x"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true},{"key":"use_accumulated_energy_registers","type":"boolean","label":"Use Accumulated Energy Registers","description":"Use ADE7935 accumulated energy registers instead of instant power registers. These registers store the accumulated energy since the last read and should provide better accuracy for power calculation. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"voltage_gain","type":"integer","label":"Voltage Gain","description":"Set the voltage amplification. Defaults to `0x400000`.","default_value":"4194304","range":[1048576,8388608],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"},{"key":"voltage_pga_gain","type":"string","label":"Voltage Pga Gain","description":"Set the input PGA voltage amplification. Defaults to `1x`.","default_value":"1x","options":[{"label":"1x","value":"1x"},{"label":"2x","value":"2x"},{"label":"4x","value":"4x"},{"label":"8x","value":"8x"},{"label":"16x","value":"16x"},{"label":"22x","value":"22x"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ade7953#configuration-variables"}],"provides_id_paths":{"sensor":[["active_power_a","id"],["active_power_b","id"],["apparent_power_a","id"],["apparent_power_b","id"],["current_a","id"],["current_b","id"],["frequency","id"],["power_factor_a","id"],["power_factor_b","id"],["reactive_power_a","id"],["reactive_power_b","id"],["voltage","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.airthings_wave_mini.json b/esphome_device_builder/definitions/components/sensor.airthings_wave_mini.json index 1a8cdcc09..b22b22b7e 100644 --- a/esphome_device_builder/definitions/components/sensor.airthings_wave_mini.json +++ b/esphome_device_builder/definitions/components/sensor.airthings_wave_mini.json @@ -1 +1 @@ -{"id":"sensor.airthings_wave_mini","name":"Airthings Wave Mini","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/airthings_ble#airthings-wave-mini-sensor","dependencies":["ble_client"],"multi_conf":true,"supported_platforms":["esp32"],"config_entries":[{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"5min","display_format":null},{"key":"battery_voltage","type":"nested","label":"Battery Voltage","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","default_value":"diagnostic","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"ble_client_id","type":"id","label":"BLE Client ID","display_format":null,"references_component":"ble_client"},{"key":"humidity","type":"nested","label":"Humidity","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"humidity","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"pressure","type":"nested","label":"Pressure","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"hPa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"tvoc","type":"nested","label":"TVOC","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"volatile_organic_compounds_parts","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppb","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"battery_update_interval","type":"time_period","label":"Battery Update Interval","default_value":"24h","display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"id_classes":["airthings_wave_base::AirthingsWaveBase","airthings_wave_mini::AirthingsWaveMini","ble_client::BLEClientNode"]} +{"id":"sensor.airthings_wave_mini","name":"Airthings Wave Mini","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/airthings_ble#airthings-wave-mini-sensor","dependencies":["ble_client"],"multi_conf":true,"supported_platforms":["esp32"],"provides":["sensor"],"config_entries":[{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"5min","display_format":null},{"key":"battery_voltage","type":"nested","label":"Battery Voltage","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","default_value":"diagnostic","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"ble_client_id","type":"id","label":"BLE Client ID","display_format":null,"references_component":"ble_client"},{"key":"humidity","type":"nested","label":"Humidity","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"humidity","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"pressure","type":"nested","label":"Pressure","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"hPa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"tvoc","type":"nested","label":"TVOC","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"volatile_organic_compounds_parts","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppb","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"battery_update_interval","type":"time_period","label":"Battery Update Interval","default_value":"24h","display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["battery_voltage","id"],["humidity","id"],["pressure","id"],["temperature","id"],["tvoc","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.airthings_wave_plus.json b/esphome_device_builder/definitions/components/sensor.airthings_wave_plus.json index 12a40f2cd..abfbd854e 100644 --- a/esphome_device_builder/definitions/components/sensor.airthings_wave_plus.json +++ b/esphome_device_builder/definitions/components/sensor.airthings_wave_plus.json @@ -1 +1 @@ -{"id":"sensor.airthings_wave_plus","name":"Airthings Wave Plus","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/airthings_ble#configuration-example","dependencies":["ble_client"],"multi_conf":true,"supported_platforms":["esp32"],"provides":["sensor"],"config_entries":[{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"5min","display_format":null},{"key":"battery_voltage","type":"nested","label":"Battery Voltage","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","default_value":"diagnostic","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"ble_client_id","type":"id","label":"BLE Client ID","display_format":null,"references_component":"ble_client"},{"key":"co2","type":"nested","label":"CO2","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"carbon_dioxide","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"humidity","type":"nested","label":"Humidity","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"humidity","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"illuminance","type":"nested","label":"Illuminance","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"illuminance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"lx","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"pressure","type":"nested","label":"Pressure","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"hPa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"radon","type":"nested","label":"Radon","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:radioactive","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Bq/m³","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"radon_long_term","type":"nested","label":"Radon Long Term","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:radioactive","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Bq/m³","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"tvoc","type":"nested","label":"TVOC","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"volatile_organic_compounds_parts","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppb","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"battery_update_interval","type":"time_period","label":"Battery Update Interval","default_value":"24h","display_format":null,"advanced":true},{"key":"device_type","type":"string","label":"Device Type","default_value":"WAVE_PLUS","options":[{"label":"WAVE_PLUS","value":"WAVE_PLUS"},{"label":"WAVE_GEN2","value":"WAVE_GEN2"}],"display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["co2","id"],["illuminance","id"],["radon","id"],["radon_long_term","id"]]}} +{"id":"sensor.airthings_wave_plus","name":"Airthings Wave Plus","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/airthings_ble#configuration-example","dependencies":["ble_client"],"multi_conf":true,"supported_platforms":["esp32"],"provides":["sensor"],"config_entries":[{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"5min","display_format":null},{"key":"battery_voltage","type":"nested","label":"Battery Voltage","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","default_value":"diagnostic","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"ble_client_id","type":"id","label":"BLE Client ID","display_format":null,"references_component":"ble_client"},{"key":"co2","type":"nested","label":"CO2","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"carbon_dioxide","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"humidity","type":"nested","label":"Humidity","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"humidity","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"illuminance","type":"nested","label":"Illuminance","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"illuminance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"lx","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"pressure","type":"nested","label":"Pressure","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"hPa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"radon","type":"nested","label":"Radon","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:radioactive","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Bq/m³","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"radon_long_term","type":"nested","label":"Radon Long Term","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:radioactive","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Bq/m³","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"tvoc","type":"nested","label":"TVOC","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"volatile_organic_compounds_parts","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppb","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"battery_update_interval","type":"time_period","label":"Battery Update Interval","default_value":"24h","display_format":null,"advanced":true},{"key":"device_type","type":"string","label":"Device Type","default_value":"WAVE_PLUS","options":[{"label":"WAVE_PLUS","value":"WAVE_PLUS"},{"label":"WAVE_GEN2","value":"WAVE_GEN2"}],"display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["battery_voltage","id"],["co2","id"],["humidity","id"],["illuminance","id"],["pressure","id"],["radon","id"],["radon_long_term","id"],["temperature","id"],["tvoc","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.aqi.json b/esphome_device_builder/definitions/components/sensor.aqi.json index f3e125f4c..a21543152 100644 --- a/esphome_device_builder/definitions/components/sensor.aqi.json +++ b/esphome_device_builder/definitions/components/sensor.aqi.json @@ -1 +1 @@ -{"id":"sensor.aqi","name":"Air Quality Index (AQI)","description":"The `aqi` sensor platform allows you to compute an Air Quality Index from PM2.5 and PM10 particulate matter sensor readings. This sensor works with any PM sensor source, such as [Pmsx003](https://esphome.io/components/sensor/pmsx003/), [Hm3301](https://esphome.io/components/sensor/hm3301/), [Sds011](https://esphome.io/components/sensor/sds011/), or [Sps30](https://esphome.io/components/sensor/sps30/).","category":"sensor","docs_url":"https://esphome.io/components/sensor/aqi","image_url":"https://esphome.io/images/aqi.svg","dependencies":["sensor"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"calculation_type","type":"string","label":"Calculation Type","description":"The AQI calculation standard to use.","required":true,"options":[{"label":"CAQI","value":"CAQI","description":"European Common Air Quality Index. Returns values from 0 upward, where higher values indicate worse air quality. Typically 0-25 is very low, 25-50 is low, 50-75 is medium, 75-100 is high, and >100 is very high. The CAQI specification defines no maximum, so readings above 100 are always reported unbounded."},{"label":"AQI","value":"AQI","description":"US EPA Air Quality Index breakpoint formula applied to PM2.5 and PM10 only. Returns values from 0-500, where higher values indicate worse air quality. The scale is defined only up to 500, so readings above the top breakpoint are clamped to 500 unless extended_range is enabled. This is not a full EPA AQI — the official standard covers five pollutant categories and also requires ozone, CO, SO₂, and NO₂ measurements. Based on the EPA Technical Assistance Document."}],"display_format":null,"help_link":"https://esphome.io/components/sensor/aqi#configuration-variables"},{"key":"pm_10_0","type":"id","label":"PM 10 0","description":"The sensor providing PM10 concentration readings in µg/m³.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/aqi#configuration-variables"},{"key":"pm_2_5","type":"id","label":"PM 2 5","description":"The sensor providing PM2.5 concentration readings in µg/m³.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/aqi#configuration-variables"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"aqi","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"extended_range","type":"boolean","label":"Extended Range","description":"Applies only to `calculation_type: AQI`. By default a reading above the top of the US AQI scale is clamped to 500. When set to `true`, the index is instead linearly extrapolated past 500 so that extreme pollution is reported as an \"over-range\" value (for example, above 500) rather than saturating. This goes beyond what the EPA specification defines. Setting this option together with `calculation_type: CAQI` is a configuration error, because CAQI has no defined maximum and is always reported unbounded.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/aqi#configuration-variables"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"sensor.aqi","name":"Air Quality Index (AQI)","description":"The `aqi` sensor platform allows you to compute an Air Quality Index from PM2.5 and PM10 particulate matter sensor readings. This sensor works with any PM sensor source, such as [Pmsx003](https://esphome.io/components/sensor/pmsx003/), [Hm3301](https://esphome.io/components/sensor/hm3301/), [Sds011](https://esphome.io/components/sensor/sds011/), or [Sps30](https://esphome.io/components/sensor/sps30/).","category":"sensor","docs_url":"https://esphome.io/components/sensor/aqi","image_url":"https://esphome.io/images/aqi.svg","dependencies":["sensor"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"calculation_type","type":"string","label":"Calculation Type","description":"The AQI calculation standard to use.","required":true,"options":[{"label":"CAQI","value":"CAQI","description":"European Common Air Quality Index. Returns values from 0 upward, where higher values indicate worse air quality. Typically 0-25 is very low, 25-50 is low, 50-75 is medium, 75-100 is high, and >100 is very high. The CAQI specification defines no maximum, so readings above 100 are always reported unbounded."},{"label":"AQI","value":"AQI","description":"US EPA Air Quality Index breakpoint formula applied to PM2.5 and PM10 only. Returns values from 0-500, where higher values indicate worse air quality. The scale is defined only up to 500, so readings above the top breakpoint are clamped to 500 unless extended_range is enabled. This is not a full EPA AQI — the official standard covers five pollutant categories and also requires ozone, CO, SO₂, and NO₂ measurements. Based on the EPA Technical Assistance Document."}],"display_format":null,"help_link":"https://esphome.io/components/sensor/aqi#configuration-variables"},{"key":"pm_10_0","type":"id","label":"PM 10 0","description":"The sensor providing PM10 concentration readings in µg/m³.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/aqi#configuration-variables"},{"key":"pm_2_5","type":"id","label":"PM 2 5","description":"The sensor providing PM2.5 concentration readings in µg/m³.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/aqi#configuration-variables"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"aqi","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"extended_range","type":"boolean","label":"Extended Range","description":"Applies only to `calculation_type: AQI`. By default a reading above the top of the US AQI scale is clamped to 500. When set to `true`, the index is instead linearly extrapolated past 500 so that extreme pollution is reported as an \"over-range\" value (for example, above 500) rather than saturating. This goes beyond what the EPA specification defines. Setting this option together with `calculation_type: CAQI` is a configuration error, because CAQI has no defined maximum and is always reported unbounded.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/aqi#configuration-variables"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/sensor.atm90e32.json b/esphome_device_builder/definitions/components/sensor.atm90e32.json index 97438d74d..15d9f5d2f 100644 --- a/esphome_device_builder/definitions/components/sensor.atm90e32.json +++ b/esphome_device_builder/definitions/components/sensor.atm90e32.json @@ -1 +1 @@ -{"id":"sensor.atm90e32","name":"ATM90E32 Power Sensor","description":"The `atm90e32` sensor platform allows you to use your ATM90E32 voltage/current and power sensors ([datasheet](http://ww1.microchip.com/downloads/en/devicedoc/Atmel-46003-SE-M90E32AS-Datasheet.pdf)) with ESPHome. This sensor is commonly found in CircuitSetup 2 and 6 channel energy meters and the [Gelidus Research](https://www.gelidus.ca/) 2 channel power meter.","category":"sensor","docs_url":"https://esphome.io/components/sensor/atm90e32","image_url":"https://esphome.io/images/atm90e32.jpg","dependencies":["spi"],"multi_conf":true,"provides":["atm90e32","sensor"],"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","description":"Manually specify the ID of the [SPI Component](https://esphome.io/components/spi) if you want to use multiple SPI buses.","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent","help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"chip_temperature","type":"nested","label":"Chip Temperature","description":"Use the chip temperature value. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","default_value":"diagnostic","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"cs_pin","type":"pin","label":"CS Pin","description":"The pin CS is connected to. For the 6 channel meter main board, this will always be 5 and 4. For the add-on boards a jumper can be selected for each CS pin, but default to 0 and 16.","required":true,"display_format":null,"pin_mode":"output","help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"frequency","type":"nested","label":"Frequency","description":"Use the frequency value calculated by the meter. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:current-ac","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"frequency","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Hz","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"line_frequency","type":"string","label":"Line Frequency","description":"The AC line frequency of the supply voltage. One of `50Hz`, `60Hz`.","required":true,"options":[{"label":"50HZ","value":"50HZ"},{"label":"60HZ","value":"60HZ"}],"display_format":null,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"id","type":"id","label":"ID","description":"Required if using more than one atm90e32 chip with buttons for calibration, reference voltage/current fields, and phase status fields.","advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"current_phases","type":"string","label":"Current Phases","description":"The number of phases the meter has, `2` or, `3` The 6 Channel Expandable Energy Meter should be set to `3`, and the Split Single Phase meter should be set to `2`. Defaults to `3`.","default_value":"3","options":[{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"enable_gain_calibration","type":"boolean","label":"Enable Gain Calibration","description":"If true this enables gain calibration for voltage, `gain_voltage`, and current, `gain_ct`, based on the values entered in the corresponding voltage, `reference_voltage`, and current, `reference_current`, reference fields. With multiple ATM90E32 sensors each one is enabled individually, and it's buttons are mapped using an id value pair. e.g. `id: chip1` when more than one is defined. After running, the values are stored in chip memory and will be available upon reboot and OTA software updates.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"enable_offset_calibration","type":"boolean","label":"Enable Offset Calibration","description":"If true this enables fine grained offset noise 0 level calibration for voltage, `offset_voltage`, and current sensors, `offset_current`, & power offset for active, `offset_active_power`, and reactive power, `offset_reactive_power`. Buttons are required to operate the calibration feature. With multiple ATM90E32 sensors each one is enabled individually, and it's buttons are mapped using an id value pair. e.g. `id: chip1` when more than one is defined. After running, the values are stored in chip memory and will be available upson reboot and OTA software updates. Offset calibration can only be performed when all voltage and current inputs are at a 0 value. USB power is recommended. For power offset calibration, only a voltage transformer should be connected.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"gain_pga","type":"string","label":"Gain Pga","description":"Increase this when the output of the CT clamp is too low and `gain_ct` is maxed out. One of `1X`, `2X`, `4X`. Defaults to `1X`, which is suitable for most CT clamps.","default_value":"1X","options":[{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"peak_current_signed","type":"boolean","label":"Peak Current Signed","description":"Control the peak current output as signed or absolute. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"phase_a","type":"nested","label":"Phase A","description":"The configuration options for the 1st phase.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","config_entries":[{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Use the apparent power value on this phase in VA. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of this phase in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"forward_active_energy","type":"nested","label":"Forward Active Energy","description":"Use the forward active energy value on this phase in watt-hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"harmonic_power","type":"nested","label":"Harmonic Power","description":"Use the harmonic power value on this phase. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"peak_current","type":"nested","label":"Peak Current","description":"Use the peak current value on this phase in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"phase_angle","type":"nested","label":"Phase Angle","description":"Use the phase angle value on this phase in degrees. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power","type":"nested","label":"Power","description":"Use the power value on this phase in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Use the power factor value on this phase. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power","type":"nested","label":"Reactive Power","description":"Use the reactive power value on this phase in VAR. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:lightbulb","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reverse_active_energy","type":"nested","label":"Reverse Active Energy","description":"Use the reverse active energy value on this phase in watt-hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of this phase in volts (RMS). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"gain_ct","type":"integer","label":"Gain Ct","description":"CT clamp calibration value for this phase. Defaults to `27961`.","default_value":"27961","range":[0,65535],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"gain_voltage","type":"integer","label":"Gain Voltage","description":"Voltage gain value to scale the low voltage AC transformer to household mains feed. Defaults to `7305`.","default_value":"7305","range":[0,65535],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_active_power","type":"integer","label":"Offset Active Power","description":"The active power offset obtained using the power offset calibration feature when current is 0 and a voltage transformer is plugged in and calibrated. Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_current","type":"integer","label":"Offset Current","description":"The current offset obtained using the offset calibration feature when current and voltage are 0 Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_reactive_power","type":"integer","label":"Offset Reactive Power","description":"The reactive power offset obtained using the power offset calibration feature when current is 0 and a voltage transformer is plugged in and calibrated. Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_voltage","type":"integer","label":"Offset Voltage","description":"The voltage offset obtained using the offset calibration feature when current and voltage are 0 Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"}]},{"key":"phase_b","type":"nested","label":"Phase B","description":"The configuration options for the 2nd phase. Same options as `phase_a`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","config_entries":[{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Use the apparent power value on this phase in VA. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of this phase in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"forward_active_energy","type":"nested","label":"Forward Active Energy","description":"Use the forward active energy value on this phase in watt-hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"harmonic_power","type":"nested","label":"Harmonic Power","description":"Use the harmonic power value on this phase. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"peak_current","type":"nested","label":"Peak Current","description":"Use the peak current value on this phase in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"phase_angle","type":"nested","label":"Phase Angle","description":"Use the phase angle value on this phase in degrees. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power","type":"nested","label":"Power","description":"Use the power value on this phase in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Use the power factor value on this phase. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power","type":"nested","label":"Reactive Power","description":"Use the reactive power value on this phase in VAR. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:lightbulb","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reverse_active_energy","type":"nested","label":"Reverse Active Energy","description":"Use the reverse active energy value on this phase in watt-hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of this phase in volts (RMS). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"gain_ct","type":"integer","label":"Gain Ct","description":"CT clamp calibration value for this phase. Defaults to `27961`.","default_value":"27961","range":[0,65535],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"gain_voltage","type":"integer","label":"Gain Voltage","description":"Voltage gain value to scale the low voltage AC transformer to household mains feed. Defaults to `7305`.","default_value":"7305","range":[0,65535],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_active_power","type":"integer","label":"Offset Active Power","description":"The active power offset obtained using the power offset calibration feature when current is 0 and a voltage transformer is plugged in and calibrated. Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_current","type":"integer","label":"Offset Current","description":"The current offset obtained using the offset calibration feature when current and voltage are 0 Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_reactive_power","type":"integer","label":"Offset Reactive Power","description":"The reactive power offset obtained using the power offset calibration feature when current is 0 and a voltage transformer is plugged in and calibrated. Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_voltage","type":"integer","label":"Offset Voltage","description":"The voltage offset obtained using the offset calibration feature when current and voltage are 0 Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"}]},{"key":"phase_c","type":"nested","label":"Phase C","description":"The configuration options for the 3rd phase. Same options as `phase_a`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","config_entries":[{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Use the apparent power value on this phase in VA. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of this phase in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"forward_active_energy","type":"nested","label":"Forward Active Energy","description":"Use the forward active energy value on this phase in watt-hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"harmonic_power","type":"nested","label":"Harmonic Power","description":"Use the harmonic power value on this phase. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"peak_current","type":"nested","label":"Peak Current","description":"Use the peak current value on this phase in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"phase_angle","type":"nested","label":"Phase Angle","description":"Use the phase angle value on this phase in degrees. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power","type":"nested","label":"Power","description":"Use the power value on this phase in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Use the power factor value on this phase. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power","type":"nested","label":"Reactive Power","description":"Use the reactive power value on this phase in VAR. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:lightbulb","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reverse_active_energy","type":"nested","label":"Reverse Active Energy","description":"Use the reverse active energy value on this phase in watt-hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of this phase in volts (RMS). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"gain_ct","type":"integer","label":"Gain Ct","description":"CT clamp calibration value for this phase. Defaults to `27961`.","default_value":"27961","range":[0,65535],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"gain_voltage","type":"integer","label":"Gain Voltage","description":"Voltage gain value to scale the low voltage AC transformer to household mains feed. Defaults to `7305`.","default_value":"7305","range":[0,65535],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_active_power","type":"integer","label":"Offset Active Power","description":"The active power offset obtained using the power offset calibration feature when current is 0 and a voltage transformer is plugged in and calibrated. Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_current","type":"integer","label":"Offset Current","description":"The current offset obtained using the offset calibration feature when current and voltage are 0 Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_reactive_power","type":"integer","label":"Offset Reactive Power","description":"The reactive power offset obtained using the power offset calibration feature when current is 0 and a voltage transformer is plugged in and calibrated. Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_voltage","type":"integer","label":"Offset Voltage","description":"The voltage offset obtained using the offset calibration feature when current and voltage are 0 Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"}]},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true}],"provides_id_paths":{"sensor":[["chip_temperature","id"],["frequency","id"]]}} +{"id":"sensor.atm90e32","name":"ATM90E32 Power Sensor","description":"The `atm90e32` sensor platform allows you to use your ATM90E32 voltage/current and power sensors ([datasheet](http://ww1.microchip.com/downloads/en/devicedoc/Atmel-46003-SE-M90E32AS-Datasheet.pdf)) with ESPHome. This sensor is commonly found in CircuitSetup 2 and 6 channel energy meters and the [Gelidus Research](https://www.gelidus.ca/) 2 channel power meter.","category":"sensor","docs_url":"https://esphome.io/components/sensor/atm90e32","image_url":"https://esphome.io/images/atm90e32.jpg","dependencies":["spi"],"multi_conf":true,"provides":["atm90e32","sensor"],"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","description":"Manually specify the ID of the [SPI Component](https://esphome.io/components/spi) if you want to use multiple SPI buses.","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent","help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"chip_temperature","type":"nested","label":"Chip Temperature","description":"Use the chip temperature value. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","default_value":"diagnostic","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"cs_pin","type":"pin","label":"CS Pin","description":"The pin CS is connected to. For the 6 channel meter main board, this will always be 5 and 4. For the add-on boards a jumper can be selected for each CS pin, but default to 0 and 16.","required":true,"display_format":null,"pin_mode":"output","help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"frequency","type":"nested","label":"Frequency","description":"Use the frequency value calculated by the meter. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:current-ac","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"frequency","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Hz","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"line_frequency","type":"string","label":"Line Frequency","description":"The AC line frequency of the supply voltage. One of `50Hz`, `60Hz`.","required":true,"options":[{"label":"50HZ","value":"50HZ"},{"label":"60HZ","value":"60HZ"}],"display_format":null,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"id","type":"id","label":"ID","description":"Required if using more than one atm90e32 chip with buttons for calibration, reference voltage/current fields, and phase status fields.","advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"current_phases","type":"string","label":"Current Phases","description":"The number of phases the meter has, `2` or, `3` The 6 Channel Expandable Energy Meter should be set to `3`, and the Split Single Phase meter should be set to `2`. Defaults to `3`.","default_value":"3","options":[{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"enable_gain_calibration","type":"boolean","label":"Enable Gain Calibration","description":"If true this enables gain calibration for voltage, `gain_voltage`, and current, `gain_ct`, based on the values entered in the corresponding voltage, `reference_voltage`, and current, `reference_current`, reference fields. With multiple ATM90E32 sensors each one is enabled individually, and it's buttons are mapped using an id value pair. e.g. `id: chip1` when more than one is defined. After running, the values are stored in chip memory and will be available upon reboot and OTA software updates.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"enable_offset_calibration","type":"boolean","label":"Enable Offset Calibration","description":"If true this enables fine grained offset noise 0 level calibration for voltage, `offset_voltage`, and current sensors, `offset_current`, & power offset for active, `offset_active_power`, and reactive power, `offset_reactive_power`. Buttons are required to operate the calibration feature. With multiple ATM90E32 sensors each one is enabled individually, and it's buttons are mapped using an id value pair. e.g. `id: chip1` when more than one is defined. After running, the values are stored in chip memory and will be available upson reboot and OTA software updates. Offset calibration can only be performed when all voltage and current inputs are at a 0 value. USB power is recommended. For power offset calibration, only a voltage transformer should be connected.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"gain_pga","type":"string","label":"Gain Pga","description":"Increase this when the output of the CT clamp is too low and `gain_ct` is maxed out. One of `1X`, `2X`, `4X`. Defaults to `1X`, which is suitable for most CT clamps.","default_value":"1X","options":[{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"peak_current_signed","type":"boolean","label":"Peak Current Signed","description":"Control the peak current output as signed or absolute. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"phase_a","type":"nested","label":"Phase A","description":"The configuration options for the 1st phase.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","config_entries":[{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Use the apparent power value on this phase in VA. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of this phase in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"forward_active_energy","type":"nested","label":"Forward Active Energy","description":"Use the forward active energy value on this phase in watt-hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"harmonic_power","type":"nested","label":"Harmonic Power","description":"Use the harmonic power value on this phase. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"peak_current","type":"nested","label":"Peak Current","description":"Use the peak current value on this phase in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"phase_angle","type":"nested","label":"Phase Angle","description":"Use the phase angle value on this phase in degrees. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power","type":"nested","label":"Power","description":"Use the power value on this phase in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Use the power factor value on this phase. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power","type":"nested","label":"Reactive Power","description":"Use the reactive power value on this phase in VAR. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:lightbulb","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reverse_active_energy","type":"nested","label":"Reverse Active Energy","description":"Use the reverse active energy value on this phase in watt-hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of this phase in volts (RMS). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"gain_ct","type":"integer","label":"Gain Ct","description":"CT clamp calibration value for this phase. Defaults to `27961`.","default_value":"27961","range":[0,65535],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"gain_voltage","type":"integer","label":"Gain Voltage","description":"Voltage gain value to scale the low voltage AC transformer to household mains feed. Defaults to `7305`.","default_value":"7305","range":[0,65535],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_active_power","type":"integer","label":"Offset Active Power","description":"The active power offset obtained using the power offset calibration feature when current is 0 and a voltage transformer is plugged in and calibrated. Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_current","type":"integer","label":"Offset Current","description":"The current offset obtained using the offset calibration feature when current and voltage are 0 Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_reactive_power","type":"integer","label":"Offset Reactive Power","description":"The reactive power offset obtained using the power offset calibration feature when current is 0 and a voltage transformer is plugged in and calibrated. Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_voltage","type":"integer","label":"Offset Voltage","description":"The voltage offset obtained using the offset calibration feature when current and voltage are 0 Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"}]},{"key":"phase_b","type":"nested","label":"Phase B","description":"The configuration options for the 2nd phase. Same options as `phase_a`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","config_entries":[{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Use the apparent power value on this phase in VA. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of this phase in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"forward_active_energy","type":"nested","label":"Forward Active Energy","description":"Use the forward active energy value on this phase in watt-hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"harmonic_power","type":"nested","label":"Harmonic Power","description":"Use the harmonic power value on this phase. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"peak_current","type":"nested","label":"Peak Current","description":"Use the peak current value on this phase in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"phase_angle","type":"nested","label":"Phase Angle","description":"Use the phase angle value on this phase in degrees. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power","type":"nested","label":"Power","description":"Use the power value on this phase in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Use the power factor value on this phase. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power","type":"nested","label":"Reactive Power","description":"Use the reactive power value on this phase in VAR. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:lightbulb","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reverse_active_energy","type":"nested","label":"Reverse Active Energy","description":"Use the reverse active energy value on this phase in watt-hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of this phase in volts (RMS). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"gain_ct","type":"integer","label":"Gain Ct","description":"CT clamp calibration value for this phase. Defaults to `27961`.","default_value":"27961","range":[0,65535],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"gain_voltage","type":"integer","label":"Gain Voltage","description":"Voltage gain value to scale the low voltage AC transformer to household mains feed. Defaults to `7305`.","default_value":"7305","range":[0,65535],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_active_power","type":"integer","label":"Offset Active Power","description":"The active power offset obtained using the power offset calibration feature when current is 0 and a voltage transformer is plugged in and calibrated. Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_current","type":"integer","label":"Offset Current","description":"The current offset obtained using the offset calibration feature when current and voltage are 0 Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_reactive_power","type":"integer","label":"Offset Reactive Power","description":"The reactive power offset obtained using the power offset calibration feature when current is 0 and a voltage transformer is plugged in and calibrated. Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_voltage","type":"integer","label":"Offset Voltage","description":"The voltage offset obtained using the offset calibration feature when current and voltage are 0 Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"}]},{"key":"phase_c","type":"nested","label":"Phase C","description":"The configuration options for the 3rd phase. Same options as `phase_a`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","config_entries":[{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Use the apparent power value on this phase in VA. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of this phase in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"forward_active_energy","type":"nested","label":"Forward Active Energy","description":"Use the forward active energy value on this phase in watt-hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"harmonic_power","type":"nested","label":"Harmonic Power","description":"Use the harmonic power value on this phase. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"peak_current","type":"nested","label":"Peak Current","description":"Use the peak current value on this phase in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"phase_angle","type":"nested","label":"Phase Angle","description":"Use the phase angle value on this phase in degrees. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power","type":"nested","label":"Power","description":"Use the power value on this phase in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Use the power factor value on this phase. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power","type":"nested","label":"Reactive Power","description":"Use the reactive power value on this phase in VAR. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:lightbulb","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reverse_active_energy","type":"nested","label":"Reverse Active Energy","description":"Use the reverse active energy value on this phase in watt-hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of this phase in volts (RMS). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"gain_ct","type":"integer","label":"Gain Ct","description":"CT clamp calibration value for this phase. Defaults to `27961`.","default_value":"27961","range":[0,65535],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"gain_voltage","type":"integer","label":"Gain Voltage","description":"Voltage gain value to scale the low voltage AC transformer to household mains feed. Defaults to `7305`.","default_value":"7305","range":[0,65535],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_active_power","type":"integer","label":"Offset Active Power","description":"The active power offset obtained using the power offset calibration feature when current is 0 and a voltage transformer is plugged in and calibrated. Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_current","type":"integer","label":"Offset Current","description":"The current offset obtained using the offset calibration feature when current and voltage are 0 Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_reactive_power","type":"integer","label":"Offset Reactive Power","description":"The reactive power offset obtained using the power offset calibration feature when current is 0 and a voltage transformer is plugged in and calibrated. Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"},{"key":"offset_voltage","type":"integer","label":"Offset Voltage","description":"The voltage offset obtained using the offset calibration feature when current and voltage are 0 Defaults to `0`","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/atm90e32#configuration-variables"}]},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true}],"provides_id_paths":{"sensor":[["chip_temperature","id"],["frequency","id"],["phase_a","apparent_power","id"],["phase_a","current","id"],["phase_a","forward_active_energy","id"],["phase_a","harmonic_power","id"],["phase_a","peak_current","id"],["phase_a","phase_angle","id"],["phase_a","power","id"],["phase_a","power_factor","id"],["phase_a","reactive_power","id"],["phase_a","reverse_active_energy","id"],["phase_a","voltage","id"],["phase_b","apparent_power","id"],["phase_b","current","id"],["phase_b","forward_active_energy","id"],["phase_b","harmonic_power","id"],["phase_b","peak_current","id"],["phase_b","phase_angle","id"],["phase_b","power","id"],["phase_b","power_factor","id"],["phase_b","reactive_power","id"],["phase_b","reverse_active_energy","id"],["phase_b","voltage","id"],["phase_c","apparent_power","id"],["phase_c","current","id"],["phase_c","forward_active_energy","id"],["phase_c","harmonic_power","id"],["phase_c","peak_current","id"],["phase_c","phase_angle","id"],["phase_c","power","id"],["phase_c","power_factor","id"],["phase_c","reactive_power","id"],["phase_c","reverse_active_energy","id"],["phase_c","voltage","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.bme280_i2c.json b/esphome_device_builder/definitions/components/sensor.bme280_i2c.json index 536253e2a..5533129eb 100644 --- a/esphome_device_builder/definitions/components/sensor.bme280_i2c.json +++ b/esphome_device_builder/definitions/components/sensor.bme280_i2c.json @@ -1 +1 @@ -{"id":"sensor.bme280_i2c","name":"Bme280 I²C","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/bme280","dependencies":["i2c"],"multi_conf":true,"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"119","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"60s","display_format":null},{"key":"humidity","type":"nested","label":"Humidity","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"humidity","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"pressure","type":"nested","label":"Pressure","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"hPa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"iir_filter","type":"string","label":"Iir Filter","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"id_classes":["bme280_i2c::BME280I2CComponent","i2c::I2CDevice"]} +{"id":"sensor.bme280_i2c","name":"Bme280 I²C","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/bme280","dependencies":["i2c"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"119","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"60s","display_format":null},{"key":"humidity","type":"nested","label":"Humidity","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"humidity","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"pressure","type":"nested","label":"Pressure","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"hPa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"iir_filter","type":"string","label":"Iir Filter","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["humidity","id"],["pressure","id"],["temperature","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.bme280_spi.json b/esphome_device_builder/definitions/components/sensor.bme280_spi.json index 57532590d..301e019c1 100644 --- a/esphome_device_builder/definitions/components/sensor.bme280_spi.json +++ b/esphome_device_builder/definitions/components/sensor.bme280_spi.json @@ -1 +1 @@ -{"id":"sensor.bme280_spi","name":"Bme280 SPI","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/bme280","dependencies":["spi"],"multi_conf":true,"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"60s","display_format":null},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"humidity","type":"nested","label":"Humidity","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"humidity","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"pressure","type":"nested","label":"Pressure","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"hPa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"iir_filter","type":"string","label":"Iir Filter","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true}],"id_classes":["bme280_spi::BME280SPIComponent","spi::SPIDevice"]} +{"id":"sensor.bme280_spi","name":"Bme280 SPI","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/bme280","dependencies":["spi"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"60s","display_format":null},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"humidity","type":"nested","label":"Humidity","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"humidity","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"pressure","type":"nested","label":"Pressure","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"hPa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"iir_filter","type":"string","label":"Iir Filter","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true}],"provides_id_paths":{"sensor":[["humidity","id"],["pressure","id"],["temperature","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.bmp280_i2c.json b/esphome_device_builder/definitions/components/sensor.bmp280_i2c.json index 5332a03a0..5095b2171 100644 --- a/esphome_device_builder/definitions/components/sensor.bmp280_i2c.json +++ b/esphome_device_builder/definitions/components/sensor.bmp280_i2c.json @@ -1 +1 @@ -{"id":"sensor.bmp280_i2c","name":"Bmp280 I²C","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/bmp280","dependencies":["i2c"],"multi_conf":true,"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"119","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"60s","display_format":null},{"key":"pressure","type":"nested","label":"Pressure","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"hPa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"iir_filter","type":"string","label":"Iir Filter","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"id_classes":["bmp280_i2c::BMP280I2CComponent","i2c::I2CDevice"]} +{"id":"sensor.bmp280_i2c","name":"Bmp280 I²C","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/bmp280","dependencies":["i2c"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"119","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"60s","display_format":null},{"key":"pressure","type":"nested","label":"Pressure","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"hPa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"iir_filter","type":"string","label":"Iir Filter","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["pressure","id"],["temperature","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.bmp280_spi.json b/esphome_device_builder/definitions/components/sensor.bmp280_spi.json index 7e43361f3..afeb89c29 100644 --- a/esphome_device_builder/definitions/components/sensor.bmp280_spi.json +++ b/esphome_device_builder/definitions/components/sensor.bmp280_spi.json @@ -1 +1 @@ -{"id":"sensor.bmp280_spi","name":"Bmp280 SPI","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/bmp280","dependencies":["spi"],"multi_conf":true,"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"60s","display_format":null},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"pressure","type":"nested","label":"Pressure","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"hPa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"iir_filter","type":"string","label":"Iir Filter","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","default_value":"mode3","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true}],"id_classes":["bmp280_spi::BMP280SPIComponent","spi::SPIDevice"]} +{"id":"sensor.bmp280_spi","name":"Bmp280 SPI","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/bmp280","dependencies":["spi"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"60s","display_format":null},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"pressure","type":"nested","label":"Pressure","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"hPa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"1X","value":"1X"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"iir_filter","type":"string","label":"Iir Filter","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"}],"display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","default_value":"mode3","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true}],"provides_id_paths":{"sensor":[["pressure","id"],["temperature","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.bmp3xx_i2c.json b/esphome_device_builder/definitions/components/sensor.bmp3xx_i2c.json index 08fac9aaf..4aed9f100 100644 --- a/esphome_device_builder/definitions/components/sensor.bmp3xx_i2c.json +++ b/esphome_device_builder/definitions/components/sensor.bmp3xx_i2c.json @@ -1 +1 @@ -{"id":"sensor.bmp3xx_i2c","name":"BMP388 / BMP390 Temperature+Pressure Sensor","description":"The `bmp3xx_i2c` component allows you to use the device over [I²C](https://esphome.io/components/i2c) interface.","category":"sensor","docs_url":"https://esphome.io/components/sensor/bmp3xx","dependencies":["i2c"],"multi_conf":true,"config_entries":[{"key":"address","type":"integer","label":"Address","description":"*I2C* only. Manually specify the I²C address of the sensor. Defaults to `0x77`. Another address can be `0x76`.","default_value":"119","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"pressure","type":"nested","label":"Pressure","description":"The information for the pressure sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"hPa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling parameter for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/bmp3xx#bmp3xx-oversampling).","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"The information for the temperature sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling parameter for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/bmp3xx#bmp3xx-oversampling).","default_value":"2X","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"iir_filter","type":"string","label":"Iir Filter","description":"Set up an Infinite Impulse Response filter to increase accuracy. One of `OFF`, `2x`, `4x`, `16x`, `32`, `64x`, `128x`. Defaults to `OFF`.","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"id_classes":["bmp3xx_i2c::BMP3XXI2CComponent","i2c::I2CDevice"]} +{"id":"sensor.bmp3xx_i2c","name":"BMP388 / BMP390 Temperature+Pressure Sensor","description":"The `bmp3xx_i2c` component allows you to use the device over [I²C](https://esphome.io/components/i2c) interface.","category":"sensor","docs_url":"https://esphome.io/components/sensor/bmp3xx","dependencies":["i2c"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"*I2C* only. Manually specify the I²C address of the sensor. Defaults to `0x77`. Another address can be `0x76`.","default_value":"119","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"pressure","type":"nested","label":"Pressure","description":"The information for the pressure sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"hPa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling parameter for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/bmp3xx#bmp3xx-oversampling).","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"The information for the temperature sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling parameter for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/bmp3xx#bmp3xx-oversampling).","default_value":"2X","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"iir_filter","type":"string","label":"Iir Filter","description":"Set up an Infinite Impulse Response filter to increase accuracy. One of `OFF`, `2x`, `4x`, `16x`, `32`, `64x`, `128x`. Defaults to `OFF`.","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["pressure","id"],["temperature","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.bmp3xx_spi.json b/esphome_device_builder/definitions/components/sensor.bmp3xx_spi.json index 4bcaaa28a..77f3dde96 100644 --- a/esphome_device_builder/definitions/components/sensor.bmp3xx_spi.json +++ b/esphome_device_builder/definitions/components/sensor.bmp3xx_spi.json @@ -1 +1 @@ -{"id":"sensor.bmp3xx_spi","name":"Bmp3Xx SPI","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/bmp3xx","dependencies":["spi"],"multi_conf":true,"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"pressure","type":"nested","label":"Pressure","description":"The information for the pressure sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"hPa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling parameter for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/bmp3xx#bmp3xx-oversampling).","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"The information for the temperature sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling parameter for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/bmp3xx#bmp3xx-oversampling).","default_value":"2X","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"iir_filter","type":"string","label":"Iir Filter","description":"Set up an Infinite Impulse Response filter to increase accuracy. One of `OFF`, `2x`, `4x`, `16x`, `32`, `64x`, `128x`. Defaults to `OFF`.","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true}],"id_classes":["bmp3xx_spi::BMP3XXSPIComponent","spi::SPIDevice"]} +{"id":"sensor.bmp3xx_spi","name":"Bmp3Xx SPI","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/bmp3xx","dependencies":["spi"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"pressure","type":"nested","label":"Pressure","description":"The information for the pressure sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"hPa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling parameter for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/bmp3xx#bmp3xx-oversampling).","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"The information for the temperature sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling parameter for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/bmp3xx#bmp3xx-oversampling).","default_value":"2X","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"iir_filter","type":"string","label":"Iir Filter","description":"Set up an Infinite Impulse Response filter to increase accuracy. One of `OFF`, `2x`, `4x`, `16x`, `32`, `64x`, `128x`. Defaults to `OFF`.","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp3xx#configuration-variables"},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true}],"provides_id_paths":{"sensor":[["pressure","id"],["temperature","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.bmp581_i2c.json b/esphome_device_builder/definitions/components/sensor.bmp581_i2c.json index 1fd45d35d..3c7fa229b 100644 --- a/esphome_device_builder/definitions/components/sensor.bmp581_i2c.json +++ b/esphome_device_builder/definitions/components/sensor.bmp581_i2c.json @@ -1 +1 @@ -{"id":"sensor.bmp581_i2c","name":"BMP581 Temperature+Pressure Sensor","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/bmp581","dependencies":["i2c"],"multi_conf":true,"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"70","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"pressure","type":"nested","label":"Pressure","description":"The information for the pressure sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"atmospheric_pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Pa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"iir_filter","type":"string","label":"Iir Filter","description":"The Infinite Impulse Response Filter level for the pressure sensor. See [Infinite Impulse Response Filter Options](https://esphome.io/components/sensor/bmp581#bmp581-iir).","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling rate for the pressure sensor. See [Oversampling Options](https://esphome.io/components/sensor/bmp581#bmp581-oversampling).","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"The information for the temperature sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"iir_filter","type":"string","label":"Iir Filter","description":"The Infinite Impulse Response Filter level for the temperature sensor. See [Infinite Impulse Response Filter Options](https://esphome.io/components/sensor/bmp581#bmp581-iir).","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling rate for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/bmp581#bmp581-oversampling).","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"id_classes":["bmp581_i2c::BMP581I2CComponent","i2c::I2CDevice"]} +{"id":"sensor.bmp581_i2c","name":"BMP581 Temperature+Pressure Sensor","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/bmp581","dependencies":["i2c"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"70","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"pressure","type":"nested","label":"Pressure","description":"The information for the pressure sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"atmospheric_pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Pa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"iir_filter","type":"string","label":"Iir Filter","description":"The Infinite Impulse Response Filter level for the pressure sensor. See [Infinite Impulse Response Filter Options](https://esphome.io/components/sensor/bmp581#bmp581-iir).","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling rate for the pressure sensor. See [Oversampling Options](https://esphome.io/components/sensor/bmp581#bmp581-oversampling).","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"The information for the temperature sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"iir_filter","type":"string","label":"Iir Filter","description":"The Infinite Impulse Response Filter level for the temperature sensor. See [Infinite Impulse Response Filter Options](https://esphome.io/components/sensor/bmp581#bmp581-iir).","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling rate for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/bmp581#bmp581-oversampling).","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["pressure","id"],["temperature","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.bmp581_spi.json b/esphome_device_builder/definitions/components/sensor.bmp581_spi.json index 3d02c961b..bbea94beb 100644 --- a/esphome_device_builder/definitions/components/sensor.bmp581_spi.json +++ b/esphome_device_builder/definitions/components/sensor.bmp581_spi.json @@ -1 +1 @@ -{"id":"sensor.bmp581_spi","name":"BMP581 Temperature+Pressure Sensor","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/bmp581","dependencies":["spi"],"multi_conf":true,"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"cs_pin","type":"pin","label":"CS Pin","description":"The SPI CS pin connected to the BMP581 sensor.","required":true,"display_format":null,"pin_mode":"output","help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"pressure","type":"nested","label":"Pressure","description":"The information for the pressure sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"atmospheric_pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Pa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"iir_filter","type":"string","label":"Iir Filter","description":"The Infinite Impulse Response Filter level for the pressure sensor. See [Infinite Impulse Response Filter Options](https://esphome.io/components/sensor/bmp581#bmp581-iir).","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling rate for the pressure sensor. See [Oversampling Options](https://esphome.io/components/sensor/bmp581#bmp581-oversampling).","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"The information for the temperature sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"iir_filter","type":"string","label":"Iir Filter","description":"The Infinite Impulse Response Filter level for the temperature sensor. See [Infinite Impulse Response Filter Options](https://esphome.io/components/sensor/bmp581#bmp581-iir).","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling rate for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/bmp581#bmp581-oversampling).","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","default_value":"mode3","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true}],"id_classes":["bmp581_spi::BMP581SPIComponent","spi::SPIDevice"]} +{"id":"sensor.bmp581_spi","name":"BMP581 Temperature+Pressure Sensor","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/bmp581","dependencies":["spi"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"cs_pin","type":"pin","label":"CS Pin","description":"The SPI CS pin connected to the BMP581 sensor.","required":true,"display_format":null,"pin_mode":"output","help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"pressure","type":"nested","label":"Pressure","description":"The information for the pressure sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"atmospheric_pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Pa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"iir_filter","type":"string","label":"Iir Filter","description":"The Infinite Impulse Response Filter level for the pressure sensor. See [Infinite Impulse Response Filter Options](https://esphome.io/components/sensor/bmp581#bmp581-iir).","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling rate for the pressure sensor. See [Oversampling Options](https://esphome.io/components/sensor/bmp581#bmp581-oversampling).","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"The information for the temperature sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"iir_filter","type":"string","label":"Iir Filter","description":"The Infinite Impulse Response Filter level for the temperature sensor. See [Infinite Impulse Response Filter Options](https://esphome.io/components/sensor/bmp581#bmp581-iir).","default_value":"OFF","options":[{"label":"OFF","value":"OFF"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling rate for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/bmp581#bmp581-oversampling).","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/bmp581#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","default_value":"mode3","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true}],"provides_id_paths":{"sensor":[["pressure","id"],["temperature","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.ccs811.json b/esphome_device_builder/definitions/components/sensor.ccs811.json index 0cd25ed69..f711fce9f 100644 --- a/esphome_device_builder/definitions/components/sensor.ccs811.json +++ b/esphome_device_builder/definitions/components/sensor.ccs811.json @@ -1 +1 @@ -{"id":"sensor.ccs811","name":"CCS811 eCO_2 and Volatile Organic Compound Sensor","description":"The `ccs811` sensor platform allows you to use CCS811 eCO_2 and volatile organic compound sensors ([Adafruit](https://www.adafruit.com/product/3566)) with ESPHome.","category":"sensor","docs_url":"https://esphome.io/components/sensor/ccs811","image_url":"https://esphome.io/images/ccs811.jpg","dependencies":["i2c"],"multi_conf":true,"provides":["sensor","text_sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"The [I²C](https://esphome.io/components/i2c) address of the sensor. Defaults to `0x5A`.","default_value":"90","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/ccs811#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ccs811#configuration-variables"},{"key":"eco2","type":"nested","label":"Eco2","description":"The eCO_2 data from the sensor in parts per million (ppm).","display_format":null,"help_link":"https://esphome.io/components/sensor/ccs811#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:molecule-co2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"carbon_dioxide","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"humidity","type":"id","label":"Humidity","description":"Give an external humidity sensor ID here. This can improve the sensor's internal calculations.","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/ccs811#configuration-variables"},{"key":"temperature","type":"id","label":"Temperature","description":"Give an external temperature sensor ID here. This can improve the sensor's internal calculations.","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/ccs811#configuration-variables"},{"key":"tvoc","type":"nested","label":"TVOC","description":"The information for the total volatile organic compound sensor in parts per billion (ppb).","display_format":null,"help_link":"https://esphome.io/components/sensor/ccs811#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:radiator","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"volatile_organic_compounds_parts","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppb","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"version","type":"nested","label":"Version","description":"This sensor reports the firmware ('application') version in text, with the internal hex representation of the version number behind it, so version 1.0.0 will be reported as '1.0.0 (0x1000)'.","display_format":null,"help_link":"https://esphome.io/components/sensor/ccs811#configuration-variables","platform_type":"text_sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/text_sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:restart","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/text_sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. Only the `timestamp` and `date` device classes are supported. Set to `\"\"` to remove the default device class of a sensor. Requires Home Assistant 2024.3 or newer.","options":[{"label":"date","value":"date"},{"label":"(none)","value":""},{"label":"timestamp","value":"timestamp"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/text_sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/text_sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/text_sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/text_sensor"},{"key":"filters","type":"registry_list","label":"Filters","display_format":null,"registry":"filter","multi_value":true,"advanced":true},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/text_sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"baseline","type":"integer","label":"Baseline","description":"The baseline value for the unit, for calibration purposes. See [Calibrating Baseline](https://esphome.io/components/sensor/ccs811#ccs811-calibrating) for more info.","range":[0,65535],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ccs811#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["eco2","id"],["tvoc","id"]],"text_sensor":[["version","id"]]}} +{"id":"sensor.ccs811","name":"CCS811 eCO_2 and Volatile Organic Compound Sensor","description":"The `ccs811` sensor platform allows you to use CCS811 eCO_2 and volatile organic compound sensors ([Adafruit](https://www.adafruit.com/product/3566)) with ESPHome.","category":"sensor","docs_url":"https://esphome.io/components/sensor/ccs811","image_url":"https://esphome.io/images/ccs811.jpg","dependencies":["i2c"],"multi_conf":true,"provides":["sensor","text_sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"The [I²C](https://esphome.io/components/i2c) address of the sensor. Defaults to `0x5A`.","default_value":"90","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/ccs811#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ccs811#configuration-variables"},{"key":"eco2","type":"nested","label":"Eco2","description":"The eCO_2 data from the sensor in parts per million (ppm).","display_format":null,"help_link":"https://esphome.io/components/sensor/ccs811#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:molecule-co2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"carbon_dioxide","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"humidity","type":"id","label":"Humidity","description":"Give an external humidity sensor ID here. This can improve the sensor's internal calculations.","display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/ccs811#configuration-variables"},{"key":"temperature","type":"id","label":"Temperature","description":"Give an external temperature sensor ID here. This can improve the sensor's internal calculations.","display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/ccs811#configuration-variables"},{"key":"tvoc","type":"nested","label":"TVOC","description":"The information for the total volatile organic compound sensor in parts per billion (ppb).","display_format":null,"help_link":"https://esphome.io/components/sensor/ccs811#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:radiator","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"volatile_organic_compounds_parts","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppb","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"version","type":"nested","label":"Version","description":"This sensor reports the firmware ('application') version in text, with the internal hex representation of the version number behind it, so version 1.0.0 will be reported as '1.0.0 (0x1000)'.","display_format":null,"help_link":"https://esphome.io/components/sensor/ccs811#configuration-variables","platform_type":"text_sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/text_sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:restart","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/text_sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. Only the `timestamp` and `date` device classes are supported. Set to `\"\"` to remove the default device class of a sensor. Requires Home Assistant 2024.3 or newer.","options":[{"label":"date","value":"date"},{"label":"(none)","value":""},{"label":"timestamp","value":"timestamp"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/text_sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/text_sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/text_sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/text_sensor"},{"key":"filters","type":"registry_list","label":"Filters","display_format":null,"registry":"filter","multi_value":true,"advanced":true},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/text_sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"baseline","type":"integer","label":"Baseline","description":"The baseline value for the unit, for calibration purposes. See [Calibrating Baseline](https://esphome.io/components/sensor/ccs811#ccs811-calibrating) for more info.","range":[0,65535],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/ccs811#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["eco2","id"],["tvoc","id"]],"text_sensor":[["version","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.combination.json b/esphome_device_builder/definitions/components/sensor.combination.json index c12bf1ab3..9f58d3ada 100644 --- a/esphome_device_builder/definitions/components/sensor.combination.json +++ b/esphome_device_builder/definitions/components/sensor.combination.json @@ -1 +1 @@ -{"id":"sensor.combination","name":"Combine the state of several sensors","description":"The `combination` sensor platform allows you to combine the state of several sensors into one. To use this sensor, specify the combination type and add your source sensors.","category":"sensor","docs_url":"https://esphome.io/components/sensor/combination","image_url":"https://esphome.io/images/function.svg","multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"type","type":"string","label":"Type","description":"Combination statistic type, should be one of KALMAN, LINEAR, MAX, MEAN, MEDIAN, MIN, MOST_RECENTLY_UPDATED, RANGE, or SUM.","required":true,"options":[{"label":"kalman","value":"kalman"},{"label":"linear","value":"linear"},{"label":"max","value":"max"},{"label":"mean","value":"mean"},{"label":"median","value":"median"},{"label":"min","value":"min"},{"label":"most_recently_updated","value":"most_recently_updated"},{"label":"range","value":"range"},{"label":"sum","value":"sum"}],"display_format":null,"help_link":"https://esphome.io/components/sensor/combination#configuration-variables"},{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"process_std_dev","type":"float","label":"Process Std Dev","description":"The standard deviation of the measurement's change per second (e.g. `1/3600 = 0.000277` if the temperature usually changes at most by one Kelvin per hour). A low value here will place high importance on the current state and be slow to respond to changes in the measured samples. A high value will update faster, but also be more noisy.","required":true,"display_format":null,"depends_on":"type","help_link":"https://esphome.io/components/sensor/combination#configuration-variables","depends_on_value_any":["kalman"]},{"key":"sources","type":"nested","label":"Sources","description":"A list of sensors to use as source.","required":true,"display_format":null,"multi_value":true,"depends_on":"type","help_link":"https://esphome.io/components/sensor/combination#configuration-variables","config_entries":[{"key":"error","type":"float","label":"Error","description":"The standard deviation of the sensor's measurements. This works like the `process_std_dev` parameter, with low values marking accurate data. If implemented as a template, the measurement is in parameter `x`.","required":true,"display_format":null,"templatable":true,"help_link":"https://esphome.io/components/sensor/combination#configuration-variables"},{"key":"source","type":"id","label":"Source","description":"The sensor id that is used as sample source.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/combination#configuration-variables"}],"depends_on_value_any":["kalman"]},{"key":"sources","type":"nested","label":"Sources","description":"A list of sensors to use as source.","required":true,"display_format":null,"multi_value":true,"depends_on":"type","help_link":"https://esphome.io/components/sensor/combination#configuration-variables","config_entries":[{"key":"source","type":"id","label":"Source","description":"The sensor id that is used as sample source.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/combination#configuration-variables"},{"key":"coeffecient","type":"float","label":"Coeffecient","display_format":null,"templatable":true,"advanced":true},{"key":"coefficient","type":"float","label":"Coefficient","description":"The coefficient to multiply the sensor's state by before summing all source sensor states. If implemented as a template, the measurement is in parameter `x`.","display_format":null,"templatable":true,"advanced":true,"help_link":"https://esphome.io/components/sensor/combination#configuration-variables"}],"depends_on_value_any":["linear"]},{"key":"sources","type":"nested","label":"Sources","description":"A list of sensors to use as source.","required":true,"display_format":null,"multi_value":true,"depends_on":"type","help_link":"https://esphome.io/components/sensor/combination#configuration-variables","config_entries":[{"key":"source","type":"id","label":"Source","description":"The sensor id that is used as sample source.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/combination#configuration-variables"}],"depends_on_value_any":["max","mean","median","min","most_recently_updated","range","sum"]},{"key":"std_dev","type":"nested","label":"Std Dev","description":"A sensor that publishes the current standard deviation of the state with each update.","display_format":null,"depends_on":"type","help_link":"https://esphome.io/components/sensor/combination#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}],"depends_on_value_any":["kalman"]},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}],"provides_id_paths":{"sensor":[["id"],["std_dev","id"]]}} +{"id":"sensor.combination","name":"Combine the state of several sensors","description":"The `combination` sensor platform allows you to combine the state of several sensors into one. To use this sensor, specify the combination type and add your source sensors.","category":"sensor","docs_url":"https://esphome.io/components/sensor/combination","image_url":"https://esphome.io/images/function.svg","multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"type","type":"string","label":"Type","description":"Combination statistic type, should be one of KALMAN, LINEAR, MAX, MEAN, MEDIAN, MIN, MOST_RECENTLY_UPDATED, RANGE, or SUM.","required":true,"options":[{"label":"kalman","value":"kalman"},{"label":"linear","value":"linear"},{"label":"max","value":"max"},{"label":"mean","value":"mean"},{"label":"median","value":"median"},{"label":"min","value":"min"},{"label":"most_recently_updated","value":"most_recently_updated"},{"label":"range","value":"range"},{"label":"sum","value":"sum"}],"display_format":null,"help_link":"https://esphome.io/components/sensor/combination#configuration-variables"},{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"process_std_dev","type":"float","label":"Process Std Dev","description":"The standard deviation of the measurement's change per second (e.g. `1/3600 = 0.000277` if the temperature usually changes at most by one Kelvin per hour). A low value here will place high importance on the current state and be slow to respond to changes in the measured samples. A high value will update faster, but also be more noisy.","required":true,"display_format":null,"depends_on":"type","help_link":"https://esphome.io/components/sensor/combination#configuration-variables","depends_on_value_any":["kalman"]},{"key":"sources","type":"nested","label":"Sources","description":"A list of sensors to use as source.","required":true,"display_format":null,"multi_value":true,"depends_on":"type","help_link":"https://esphome.io/components/sensor/combination#configuration-variables","config_entries":[{"key":"error","type":"float","label":"Error","description":"The standard deviation of the sensor's measurements. This works like the `process_std_dev` parameter, with low values marking accurate data. If implemented as a template, the measurement is in parameter `x`.","required":true,"display_format":null,"templatable":true,"help_link":"https://esphome.io/components/sensor/combination#configuration-variables"},{"key":"source","type":"id","label":"Source","description":"The sensor id that is used as sample source.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/combination#configuration-variables"}],"depends_on_value_any":["kalman"]},{"key":"sources","type":"nested","label":"Sources","description":"A list of sensors to use as source.","required":true,"display_format":null,"multi_value":true,"depends_on":"type","help_link":"https://esphome.io/components/sensor/combination#configuration-variables","config_entries":[{"key":"source","type":"id","label":"Source","description":"The sensor id that is used as sample source.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/combination#configuration-variables"},{"key":"coeffecient","type":"float","label":"Coeffecient","display_format":null,"templatable":true,"advanced":true},{"key":"coefficient","type":"float","label":"Coefficient","description":"The coefficient to multiply the sensor's state by before summing all source sensor states. If implemented as a template, the measurement is in parameter `x`.","display_format":null,"templatable":true,"advanced":true,"help_link":"https://esphome.io/components/sensor/combination#configuration-variables"}],"depends_on_value_any":["linear"]},{"key":"sources","type":"nested","label":"Sources","description":"A list of sensors to use as source.","required":true,"display_format":null,"multi_value":true,"depends_on":"type","help_link":"https://esphome.io/components/sensor/combination#configuration-variables","config_entries":[{"key":"source","type":"id","label":"Source","description":"The sensor id that is used as sample source.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/combination#configuration-variables"}],"depends_on_value_any":["max","mean","median","min","most_recently_updated","range","sum"]},{"key":"std_dev","type":"nested","label":"Std Dev","description":"A sensor that publishes the current standard deviation of the state with each update.","display_format":null,"depends_on":"type","help_link":"https://esphome.io/components/sensor/combination#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}],"depends_on_value_any":["kalman"]},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}],"provides_id_paths":{"sensor":[["id"],["std_dev","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.copy.json b/esphome_device_builder/definitions/components/sensor.copy.json index 05e9b4a18..26d503281 100644 --- a/esphome_device_builder/definitions/components/sensor.copy.json +++ b/esphome_device_builder/definitions/components/sensor.copy.json @@ -1 +1 @@ -{"id":"sensor.copy","name":"Copy Component","description":"Copy component in ESPHome","category":"sensor","docs_url":"https://esphome.io/components/copy","image_url":"https://esphome.io/images/content-copy.svg","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"source_id","type":"id","label":"Source ID","description":"The sensor that should be mirrored.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/copy#configuration-variables"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"sensor.copy","name":"Copy Component","description":"Copy component in ESPHome","category":"sensor","docs_url":"https://esphome.io/components/copy","image_url":"https://esphome.io/images/content-copy.svg","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"source_id","type":"id","label":"Source ID","description":"The sensor that should be mirrored.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/copy#configuration-variables"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/sensor.dew_point.json b/esphome_device_builder/definitions/components/sensor.dew_point.json index 213d7b22c..6056a9cd3 100644 --- a/esphome_device_builder/definitions/components/sensor.dew_point.json +++ b/esphome_device_builder/definitions/components/sensor.dew_point.json @@ -1 +1 @@ -{"id":"sensor.dew_point","name":"Dew Point","description":"The `dew_point` platform allows you to calculate the dew point from air temperature and relative humidity. For the calculation the Magnus formula approximation is used.","category":"sensor","docs_url":"https://esphome.io/components/sensor/dew_point","image_url":"https://esphome.io/images/water-drop.svg","dependencies":["sensor"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"humidity","type":"id","label":"Humidity","description":"The sensor that is used to measure the current relative humidity, in %.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/dew_point#configuration-variables"},{"key":"temperature","type":"id","label":"Temperature","description":"The sensor that is used to measure the current temperature, in °C.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/dew_point#configuration-variables"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:weather-rainy","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"sensor.dew_point","name":"Dew Point","description":"The `dew_point` platform allows you to calculate the dew point from air temperature and relative humidity. For the calculation the Magnus formula approximation is used.","category":"sensor","docs_url":"https://esphome.io/components/sensor/dew_point","image_url":"https://esphome.io/images/water-drop.svg","dependencies":["sensor"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"humidity","type":"id","label":"Humidity","description":"The sensor that is used to measure the current relative humidity, in %.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/dew_point#configuration-variables"},{"key":"temperature","type":"id","label":"Temperature","description":"The sensor that is used to measure the current temperature, in °C.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/dew_point#configuration-variables"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:weather-rainy","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/sensor.ens160_i2c.json b/esphome_device_builder/definitions/components/sensor.ens160_i2c.json index 161cf99c3..1f302fda7 100644 --- a/esphome_device_builder/definitions/components/sensor.ens160_i2c.json +++ b/esphome_device_builder/definitions/components/sensor.ens160_i2c.json @@ -1 +1 @@ -{"id":"sensor.ens160_i2c","name":"Ens160 I²C","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/ens160","dependencies":["i2c"],"multi_conf":true,"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"82","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"60s","display_format":null},{"key":"aqi","type":"nested","label":"Aqi","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:chemical-weapon","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"aqi","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"eco2","type":"nested","label":"Eco2","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:molecule-co2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"carbon_dioxide","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"tvoc","type":"nested","label":"TVOC","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:radiator","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"volatile_organic_compounds_parts","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppb","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"compensation","type":"nested","label":"Compensation","display_format":null,"advanced":true,"config_entries":[{"key":"humidity","type":"id","label":"Humidity","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","advanced":true},{"key":"temperature","type":"id","label":"Temperature","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","advanced":true}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"id_classes":["ens160_i2c::ENS160I2CComponent","i2c::I2CDevice"]} +{"id":"sensor.ens160_i2c","name":"Ens160 I²C","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/ens160","dependencies":["i2c"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"82","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"60s","display_format":null},{"key":"aqi","type":"nested","label":"Aqi","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:chemical-weapon","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"aqi","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"eco2","type":"nested","label":"Eco2","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:molecule-co2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"carbon_dioxide","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"tvoc","type":"nested","label":"TVOC","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:radiator","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"volatile_organic_compounds_parts","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppb","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"compensation","type":"nested","label":"Compensation","display_format":null,"advanced":true,"config_entries":[{"key":"humidity","type":"id","label":"Humidity","required":true,"display_format":null,"references_component":"sensor","advanced":true},{"key":"temperature","type":"id","label":"Temperature","required":true,"display_format":null,"references_component":"sensor","advanced":true}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["aqi","id"],["eco2","id"],["tvoc","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.ens160_spi.json b/esphome_device_builder/definitions/components/sensor.ens160_spi.json index 34af99c04..af1719f4a 100644 --- a/esphome_device_builder/definitions/components/sensor.ens160_spi.json +++ b/esphome_device_builder/definitions/components/sensor.ens160_spi.json @@ -1 +1 @@ -{"id":"sensor.ens160_spi","name":"Ens160 SPI","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/ens160","dependencies":["spi"],"multi_conf":true,"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"60s","display_format":null},{"key":"aqi","type":"nested","label":"Aqi","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:chemical-weapon","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"aqi","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"eco2","type":"nested","label":"Eco2","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:molecule-co2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"carbon_dioxide","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"tvoc","type":"nested","label":"TVOC","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:radiator","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"volatile_organic_compounds_parts","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppb","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"compensation","type":"nested","label":"Compensation","display_format":null,"advanced":true,"config_entries":[{"key":"humidity","type":"id","label":"Humidity","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","advanced":true},{"key":"temperature","type":"id","label":"Temperature","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","advanced":true}]},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true}],"id_classes":["ens160_spi::ENS160SPIComponent","spi::SPIDevice"]} +{"id":"sensor.ens160_spi","name":"Ens160 SPI","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/ens160","dependencies":["spi"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"update_interval","type":"time_period","label":"Update Interval","default_value":"60s","display_format":null},{"key":"aqi","type":"nested","label":"Aqi","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:chemical-weapon","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"aqi","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"eco2","type":"nested","label":"Eco2","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:molecule-co2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"carbon_dioxide","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"tvoc","type":"nested","label":"TVOC","display_format":null,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:radiator","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"volatile_organic_compounds_parts","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppb","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"compensation","type":"nested","label":"Compensation","display_format":null,"advanced":true,"config_entries":[{"key":"humidity","type":"id","label":"Humidity","required":true,"display_format":null,"references_component":"sensor","advanced":true},{"key":"temperature","type":"id","label":"Temperature","required":true,"display_format":null,"references_component":"sensor","advanced":true}]},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true}],"provides_id_paths":{"sensor":[["aqi","id"],["eco2","id"],["tvoc","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.growatt_solar.json b/esphome_device_builder/definitions/components/sensor.growatt_solar.json index 96da99f82..b4e4d39d0 100644 --- a/esphome_device_builder/definitions/components/sensor.growatt_solar.json +++ b/esphome_device_builder/definitions/components/sensor.growatt_solar.json @@ -1 +1 @@ -{"id":"sensor.growatt_solar","name":"Growatt Solar","description":"The `Growatt Inverter` sensor platform allows you to use growatt inverter data reading on modbus with ESPHome.","category":"sensor","docs_url":"https://esphome.io/components/sensor/growatt_solar","image_url":"https://esphome.io/images/growatt.jpg","dependencies":["modbus","uart"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"The address of the sensor if multiple sensors are attached to the same UART bus. You will need to set the address of each device manually. Defaults to `1`.","default_value":"1","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `10s`.","default_value":"10s","display_format":null,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables"},{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value for the Grid in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"energy_production_day","type":"nested","label":"Energy Production Day","description":"Use the export active energy value for same day of the sensor in kilo watt hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kWh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"frequency","type":"nested","label":"Frequency","description":"Use the frequency value of the sensor in hertz. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:current-ac","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"frequency","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Hz","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"inverter_module_temp","type":"nested","label":"Inverter Module Temp","description":"Use the inverter module temperature value of the sensor in degree celsius. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"inverter_status","type":"nested","label":"Inverter Status","description":"Status code of the inverter (0: waiting, 1: normal, 3:fault).","display_format":null,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"modbus_id","type":"id","label":"Modbus ID","display_format":null,"references_component":"modbus","references_class":"modbus::ModbusClientHub"},{"key":"pv_active_power","type":"nested","label":"PV Active Power","description":"Use the (active) power value of PVs in total in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"total_energy_production","type":"nested","label":"Total Energy Production","description":"Use the total exported energy value of the sensor in kilo watt hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kWh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"phase_a","type":"nested","label":"Phase A","description":"The group of exposed sensors for Phase A/1.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"phase_b","type":"nested","label":"Phase B","description":"The group of exposed sensors for Phase B/2 on applicable inverters.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"phase_c","type":"nested","label":"Phase C","description":"The group of exposed sensors for Phase C/3 on applicable inverters.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"protocol_version","type":"string","label":"Protocol Version","description":"Version of the protocol used by your inverter. Old inverters use RTU (default). Newer ones use RTU2 (e.g. MIC, MIN, MAX series).","default_value":"RTU","options":[{"label":"RTU","value":"RTU"},{"label":"RTU2","value":"RTU2"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables"},{"key":"pv1","type":"nested","label":"PV1","description":"The group of exposed sensors for Photo Voltaic 1.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"pv2","type":"nested","label":"PV2","description":"The group of exposed sensors for Photo Voltaic 2.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["active_power","id"],["energy_production_day","id"],["frequency","id"],["inverter_module_temp","id"],["inverter_status","id"],["pv_active_power","id"],["total_energy_production","id"]]}} +{"id":"sensor.growatt_solar","name":"Growatt Solar","description":"The `Growatt Inverter` sensor platform allows you to use growatt inverter data reading on modbus with ESPHome.","category":"sensor","docs_url":"https://esphome.io/components/sensor/growatt_solar","image_url":"https://esphome.io/images/growatt.jpg","dependencies":["modbus","uart"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"The address of the sensor if multiple sensors are attached to the same UART bus. You will need to set the address of each device manually. Defaults to `1`.","default_value":"1","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `10s`.","default_value":"10s","display_format":null,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables"},{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value for the Grid in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"energy_production_day","type":"nested","label":"Energy Production Day","description":"Use the export active energy value for same day of the sensor in kilo watt hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kWh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"frequency","type":"nested","label":"Frequency","description":"Use the frequency value of the sensor in hertz. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:current-ac","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"frequency","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Hz","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"inverter_module_temp","type":"nested","label":"Inverter Module Temp","description":"Use the inverter module temperature value of the sensor in degree celsius. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"inverter_status","type":"nested","label":"Inverter Status","description":"Status code of the inverter (0: waiting, 1: normal, 3:fault).","display_format":null,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"modbus_id","type":"id","label":"Modbus ID","display_format":null,"references_component":"modbus","references_class":"modbus::ModbusClientHub"},{"key":"pv_active_power","type":"nested","label":"PV Active Power","description":"Use the (active) power value of PVs in total in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"total_energy_production","type":"nested","label":"Total Energy Production","description":"Use the total exported energy value of the sensor in kilo watt hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kWh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"phase_a","type":"nested","label":"Phase A","description":"The group of exposed sensors for Phase A/1.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"phase_b","type":"nested","label":"Phase B","description":"The group of exposed sensors for Phase B/2 on applicable inverters.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"phase_c","type":"nested","label":"Phase C","description":"The group of exposed sensors for Phase C/3 on applicable inverters.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"protocol_version","type":"string","label":"Protocol Version","description":"Version of the protocol used by your inverter. Old inverters use RTU (default). Newer ones use RTU2 (e.g. MIC, MIN, MAX series).","default_value":"RTU","options":[{"label":"RTU","value":"RTU"},{"label":"RTU2","value":"RTU2"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables"},{"key":"pv1","type":"nested","label":"PV1","description":"The group of exposed sensors for Photo Voltaic 1.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"pv2","type":"nested","label":"PV2","description":"The group of exposed sensors for Photo Voltaic 2.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/growatt_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["active_power","id"],["energy_production_day","id"],["frequency","id"],["inverter_module_temp","id"],["inverter_status","id"],["phase_a","active_power","id"],["phase_a","current","id"],["phase_a","voltage","id"],["phase_b","active_power","id"],["phase_b","current","id"],["phase_b","voltage","id"],["phase_c","active_power","id"],["phase_c","current","id"],["phase_c","voltage","id"],["pv1","active_power","id"],["pv1","current","id"],["pv1","voltage","id"],["pv2","active_power","id"],["pv2","current","id"],["pv2","voltage","id"],["pv_active_power","id"],["total_energy_production","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.havells_solar.json b/esphome_device_builder/definitions/components/sensor.havells_solar.json index 49b85103b..7b159b366 100644 --- a/esphome_device_builder/definitions/components/sensor.havells_solar.json +++ b/esphome_device_builder/definitions/components/sensor.havells_solar.json @@ -1 +1 @@ -{"id":"sensor.havells_solar","name":"Havells Solar","description":"The `Havells Inverter` sensor platform allows you to use Havells inverter data reading on modbus ([website](https://havells.com/business/discover-solar-solutions)) with ESPHome.","category":"sensor","docs_url":"https://esphome.io/components/sensor/havells_solar","image_url":"https://esphome.io/images/havellsgti5000d_s.jpg","dependencies":["modbus","uart"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"The address of the sensor if multiple sensors are attached to the same UART bus. You will need to set the address of each device manually. Defaults to `1`.","default_value":"1","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"10s","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables"},{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"dci_of_r","type":"nested","label":"Dci Of R","description":"Use the DCI of R value of the sensor. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"dci_of_s","type":"nested","label":"Dci Of S","description":"Use the DCI of S value of the sensor. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"dci_of_t","type":"nested","label":"Dci Of T","description":"Use the DCI of T value of the sensor. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"energy_production_day","type":"nested","label":"Energy Production Day","description":"Use the export active energy value for same day of the sensor in kilo watt hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kWh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"frequency","type":"nested","label":"Frequency","description":"Use the frequency value of the sensor in hertz. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:current-ac","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"frequency","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Hz","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"gfci_value","type":"nested","label":"GFCI Value","description":"Use the GFCI value of the sensor. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"insulation_of_pv_n_to_ground","type":"nested","label":"Insulation Of PV N To Ground","description":"Use the insulation of photo voltiacs's -ve terminal to ground value of the sensor in kilo ohms. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kΩ","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"inverter_bus_voltage","type":"nested","label":"Inverter Bus Voltage","description":"Use the inverter bus voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"inverter_inner_temp","type":"nested","label":"Inverter Inner Temp","description":"Use the inverter inner temperature value of the sensor in degree celsius. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"inverter_module_temp","type":"nested","label":"Inverter Module Temp","description":"Use the inverter module temperature value of the sensor in degree celsius. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"modbus_id","type":"id","label":"Modbus ID","display_format":null,"references_component":"modbus","references_class":"modbus::ModbusClientHub"},{"key":"reactive_power","type":"nested","label":"Reactive Power","description":"Use the reactive power value of the sensor in VAR. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"today_generation_time","type":"nested","label":"Today Generation Time","description":"Use the day generation time value for same day of the sensor in minutes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"min","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"total_energy_production","type":"nested","label":"Total Energy Production","description":"Use the total exported energy value of the sensor in kilo watt hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kWh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"total_generation_time","type":"nested","label":"Total Generation Time","description":"Use the total generation time value of the sensor in hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"h","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"phase_a","type":"nested","label":"Phase A","description":"The group of exposed sensors for Phase A/1.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","config_entries":[{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"phase_b","type":"nested","label":"Phase B","description":"The group of exposed sensors for Phase B/2 on applicable inverters.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","config_entries":[{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"phase_c","type":"nested","label":"Phase C","description":"The group of exposed sensors for Phase C/3 on applicable inverters.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","config_entries":[{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"pv1","type":"nested","label":"PV1","description":"The group of exposed sensors for Photo Voltaic 1.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"insulation_of_p_to_ground","type":"nested","label":"Insulation Of P To Ground","description":"Use the insulation of photo voltiac's +ve terminal to ground value of the sensor in kilo ohms. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kΩ","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage_sampled_by_secondary_cpu","type":"nested","label":"Voltage Sampled By Secondary CPU","description":"Use the photo voltiac's voltage sampled by slave CPU value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"pv2","type":"nested","label":"PV2","description":"The group of exposed sensors for Photo Voltaic 2.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"insulation_of_p_to_ground","type":"nested","label":"Insulation Of P To Ground","description":"Use the insulation of photo voltiac's +ve terminal to ground value of the sensor in kilo ohms. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kΩ","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage_sampled_by_secondary_cpu","type":"nested","label":"Voltage Sampled By Secondary CPU","description":"Use the photo voltiac's voltage sampled by slave CPU value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["active_power","id"],["dci_of_r","id"],["dci_of_s","id"],["dci_of_t","id"],["energy_production_day","id"],["frequency","id"],["gfci_value","id"],["insulation_of_pv_n_to_ground","id"],["inverter_bus_voltage","id"],["inverter_inner_temp","id"],["inverter_module_temp","id"],["reactive_power","id"],["today_generation_time","id"],["total_energy_production","id"],["total_generation_time","id"]]}} +{"id":"sensor.havells_solar","name":"Havells Solar","description":"The `Havells Inverter` sensor platform allows you to use Havells inverter data reading on modbus ([website](https://havells.com/business/discover-solar-solutions)) with ESPHome.","category":"sensor","docs_url":"https://esphome.io/components/sensor/havells_solar","image_url":"https://esphome.io/images/havellsgti5000d_s.jpg","dependencies":["modbus","uart"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"The address of the sensor if multiple sensors are attached to the same UART bus. You will need to set the address of each device manually. Defaults to `1`.","default_value":"1","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"10s","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables"},{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"dci_of_r","type":"nested","label":"Dci Of R","description":"Use the DCI of R value of the sensor. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"dci_of_s","type":"nested","label":"Dci Of S","description":"Use the DCI of S value of the sensor. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"dci_of_t","type":"nested","label":"Dci Of T","description":"Use the DCI of T value of the sensor. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"energy_production_day","type":"nested","label":"Energy Production Day","description":"Use the export active energy value for same day of the sensor in kilo watt hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kWh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"frequency","type":"nested","label":"Frequency","description":"Use the frequency value of the sensor in hertz. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:current-ac","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"frequency","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Hz","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"gfci_value","type":"nested","label":"GFCI Value","description":"Use the GFCI value of the sensor. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"insulation_of_pv_n_to_ground","type":"nested","label":"Insulation Of PV N To Ground","description":"Use the insulation of photo voltiacs's -ve terminal to ground value of the sensor in kilo ohms. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kΩ","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"inverter_bus_voltage","type":"nested","label":"Inverter Bus Voltage","description":"Use the inverter bus voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"inverter_inner_temp","type":"nested","label":"Inverter Inner Temp","description":"Use the inverter inner temperature value of the sensor in degree celsius. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"inverter_module_temp","type":"nested","label":"Inverter Module Temp","description":"Use the inverter module temperature value of the sensor in degree celsius. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"modbus_id","type":"id","label":"Modbus ID","display_format":null,"references_component":"modbus","references_class":"modbus::ModbusClientHub"},{"key":"reactive_power","type":"nested","label":"Reactive Power","description":"Use the reactive power value of the sensor in VAR. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"today_generation_time","type":"nested","label":"Today Generation Time","description":"Use the day generation time value for same day of the sensor in minutes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"min","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"total_energy_production","type":"nested","label":"Total Energy Production","description":"Use the total exported energy value of the sensor in kilo watt hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kWh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"total_generation_time","type":"nested","label":"Total Generation Time","description":"Use the total generation time value of the sensor in hours. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"h","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"phase_a","type":"nested","label":"Phase A","description":"The group of exposed sensors for Phase A/1.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","config_entries":[{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"phase_b","type":"nested","label":"Phase B","description":"The group of exposed sensors for Phase B/2 on applicable inverters.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","config_entries":[{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"phase_c","type":"nested","label":"Phase C","description":"The group of exposed sensors for Phase C/3 on applicable inverters.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","config_entries":[{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"pv1","type":"nested","label":"PV1","description":"The group of exposed sensors for Photo Voltaic 1.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"insulation_of_p_to_ground","type":"nested","label":"Insulation Of P To Ground","description":"Use the insulation of photo voltiac's +ve terminal to ground value of the sensor in kilo ohms. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kΩ","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage_sampled_by_secondary_cpu","type":"nested","label":"Voltage Sampled By Secondary CPU","description":"Use the photo voltiac's voltage sampled by slave CPU value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"pv2","type":"nested","label":"PV2","description":"The group of exposed sensors for Photo Voltaic 2.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"insulation_of_p_to_ground","type":"nested","label":"Insulation Of P To Ground","description":"Use the insulation of photo voltiac's +ve terminal to ground value of the sensor in kilo ohms. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kΩ","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage_sampled_by_secondary_cpu","type":"nested","label":"Voltage Sampled By Secondary CPU","description":"Use the photo voltiac's voltage sampled by slave CPU value of the sensor in volts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/havells_solar#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["active_power","id"],["dci_of_r","id"],["dci_of_s","id"],["dci_of_t","id"],["energy_production_day","id"],["frequency","id"],["gfci_value","id"],["insulation_of_pv_n_to_ground","id"],["inverter_bus_voltage","id"],["inverter_inner_temp","id"],["inverter_module_temp","id"],["phase_a","current","id"],["phase_a","voltage","id"],["phase_b","current","id"],["phase_b","voltage","id"],["phase_c","current","id"],["phase_c","voltage","id"],["pv1","active_power","id"],["pv1","current","id"],["pv1","insulation_of_p_to_ground","id"],["pv1","voltage","id"],["pv1","voltage_sampled_by_secondary_cpu","id"],["pv2","active_power","id"],["pv2","current","id"],["pv2","insulation_of_p_to_ground","id"],["pv2","voltage","id"],["pv2","voltage_sampled_by_secondary_cpu","id"],["reactive_power","id"],["today_generation_time","id"],["total_energy_production","id"],["total_generation_time","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.ina2xx_i2c.json b/esphome_device_builder/definitions/components/sensor.ina2xx_i2c.json index b1777779d..fad59b718 100644 --- a/esphome_device_builder/definitions/components/sensor.ina2xx_i2c.json +++ b/esphome_device_builder/definitions/components/sensor.ina2xx_i2c.json @@ -1 +1 @@ -{"id":"sensor.ina2xx_i2c","name":"INA2xx family of digital power monitors","description":"Use `ina2xx_i2c` component to connect INA228, INA237, or INA238 device over [I²C](https://esphome.io/components/i2c) bus.","category":"sensor","docs_url":"https://esphome.io/components/sensor/ina2xx","dependencies":["i2c"],"multi_conf":true,"config_entries":[{"key":"address","type":"integer","label":"Address","description":"Manually specify the I²C address of the sensor. Defaults to `0x40`.","default_value":"64","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"model","type":"string","label":"Model","description":"The model of the INA2xx sensor. Options are `INA229`, `INA239`.","required":true,"options":[{"label":"INA228","value":"INA228"},{"label":"INA238","value":"INA238"},{"label":"INA237","value":"INA237"}],"display_format":null,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"bus_voltage","type":"nested","label":"Bus Voltage","description":"Bus voltage output, V","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"charge","type":"nested","label":"Charge","description":"Calculated charge output, Ah (*INA228/229 only*)","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Ah","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"charge_coulombs","type":"nested","label":"Charge Coulombs","description":"Calculated charge output, Coulombs (*INA228/229 only*)","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Calculated current output, A","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"energy","type":"nested","label":"Energy","description":"Calculated energy output, Wh (*INA228/229 only*)","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"energy_joules","type":"nested","label":"Energy Joules","description":"Calculated energy output, Joules (*INA228/229 only*)","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"J","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"max_current","type":"float_with_unit","label":"Max Current","description":"The maximum current you are expecting. Component will use it to calibrate the sensor. No default value.","required":true,"display_format":null,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","unit_options":["A","nA","µA","mA","kA","MA","GA"]},{"key":"power","type":"nested","label":"Power","description":"Calculated power output, always positive, W","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"6","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"shunt_resistance","type":"float_with_unit","label":"Shunt Resistance","description":"The value of the shunt resistor used for current calculation. No default value.","required":true,"display_format":null,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","unit_options":["Ω","nΩ","µΩ","mΩ","kΩ","MΩ","GΩ"]},{"key":"shunt_voltage","type":"nested","label":"Shunt Voltage","description":"Differential voltage measured across the shunt, mV","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mV","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"Internal die temperature measurement, °C","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"adc_averaging","type":"integer","label":"ADC Averaging","description":"Selects ADC sample averaging count. Defaults to `128`. Valid values are `1`, `4`, `16`, `64`, `128`, `256`, `512`, `1024`.","default_value":"128","options":[{"label":"1","value":"1"},{"label":"4","value":"4"},{"label":"16","value":"16"},{"label":"64","value":"64"},{"label":"128","value":"128"},{"label":"256","value":"256"},{"label":"512","value":"512"},{"label":"1024","value":"1024"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"adc_range","type":"integer","label":"ADC Range","description":"Selects the range for differential input across shunt resistor. `0` for ±163.84 mV, `1` for ±40.96 mV range. Defaults to `0`.","default_value":"0","range":[0,1],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"adc_time","type":"nested","label":"ADC Time","description":"The time in microseconds to perform a single ADC conversion. Defaults to `4120 us`. Valid values are `50 us`, `84 us`, `150 us`, `280 us`, `540 us`, `1052 us`, `2074 us`, `4120 us`. Instead of one time for all ADC measurements, separate configuration of conversion times for shunt voltage, bus voltage, and temperature measurements possible. Options are the same as for `adc_time`.","default_value":"4120 us","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","config_entries":[{"key":"bus_voltage","type":"time_period","label":"Bus Voltage","description":"Conversion time for bus voltage measurement.","default_value":"4120 us","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"shunt_voltage","type":"time_period","label":"Shunt Voltage","description":"Conversion time for shunt voltage measurement.","default_value":"4120 us","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"temperature","type":"time_period","label":"Temperature","description":"Conversion time for temperature measurement.","default_value":"4120 us","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"}]},{"key":"reset_on_boot","type":"boolean","label":"Reset On Boot","description":"Whether or not to reset the device configuration (including counters) on component initialization. Defaults to `true`; set `false` to preserve counters through ESPHome resets.","default_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"temperature_coefficient","type":"integer","label":"Temperature Coefficient","description":"Temperature coefficient (ppm/°C) of the shunt for temperature compensation correction. Only applicable to INA228 and INA229 devices. Zero value means no compensation is done. Defaults to `0`.","default_value":"0","range":[0,16383],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"}],"id_classes":["i2c::I2CDevice","ina2xx_base::INA2XX","ina2xx_i2c::INA2XXI2C"]} +{"id":"sensor.ina2xx_i2c","name":"INA2xx family of digital power monitors","description":"Use `ina2xx_i2c` component to connect INA228, INA237, or INA238 device over [I²C](https://esphome.io/components/i2c) bus.","category":"sensor","docs_url":"https://esphome.io/components/sensor/ina2xx","dependencies":["i2c"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"Manually specify the I²C address of the sensor. Defaults to `0x40`.","default_value":"64","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"model","type":"string","label":"Model","description":"The model of the INA2xx sensor. Options are `INA229`, `INA239`.","required":true,"options":[{"label":"INA228","value":"INA228"},{"label":"INA238","value":"INA238"},{"label":"INA237","value":"INA237"}],"display_format":null,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"bus_voltage","type":"nested","label":"Bus Voltage","description":"Bus voltage output, V","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"charge","type":"nested","label":"Charge","description":"Calculated charge output, Ah (*INA228/229 only*)","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Ah","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"charge_coulombs","type":"nested","label":"Charge Coulombs","description":"Calculated charge output, Coulombs (*INA228/229 only*)","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Calculated current output, A","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"energy","type":"nested","label":"Energy","description":"Calculated energy output, Wh (*INA228/229 only*)","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"energy_joules","type":"nested","label":"Energy Joules","description":"Calculated energy output, Joules (*INA228/229 only*)","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"J","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"max_current","type":"float_with_unit","label":"Max Current","description":"The maximum current you are expecting. Component will use it to calibrate the sensor. No default value.","required":true,"display_format":null,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","unit_options":["A","nA","µA","mA","kA","MA","GA"]},{"key":"power","type":"nested","label":"Power","description":"Calculated power output, always positive, W","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"6","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"shunt_resistance","type":"float_with_unit","label":"Shunt Resistance","description":"The value of the shunt resistor used for current calculation. No default value.","required":true,"display_format":null,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","unit_options":["Ω","nΩ","µΩ","mΩ","kΩ","MΩ","GΩ"]},{"key":"shunt_voltage","type":"nested","label":"Shunt Voltage","description":"Differential voltage measured across the shunt, mV","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mV","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"Internal die temperature measurement, °C","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"adc_averaging","type":"integer","label":"ADC Averaging","description":"Selects ADC sample averaging count. Defaults to `128`. Valid values are `1`, `4`, `16`, `64`, `128`, `256`, `512`, `1024`.","default_value":"128","options":[{"label":"1","value":"1"},{"label":"4","value":"4"},{"label":"16","value":"16"},{"label":"64","value":"64"},{"label":"128","value":"128"},{"label":"256","value":"256"},{"label":"512","value":"512"},{"label":"1024","value":"1024"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"adc_range","type":"integer","label":"ADC Range","description":"Selects the range for differential input across shunt resistor. `0` for ±163.84 mV, `1` for ±40.96 mV range. Defaults to `0`.","default_value":"0","range":[0,1],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"adc_time","type":"nested","label":"ADC Time","description":"The time in microseconds to perform a single ADC conversion. Defaults to `4120 us`. Valid values are `50 us`, `84 us`, `150 us`, `280 us`, `540 us`, `1052 us`, `2074 us`, `4120 us`. Instead of one time for all ADC measurements, separate configuration of conversion times for shunt voltage, bus voltage, and temperature measurements possible. Options are the same as for `adc_time`.","default_value":"4120 us","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","config_entries":[{"key":"bus_voltage","type":"time_period","label":"Bus Voltage","description":"Conversion time for bus voltage measurement.","default_value":"4120 us","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"shunt_voltage","type":"time_period","label":"Shunt Voltage","description":"Conversion time for shunt voltage measurement.","default_value":"4120 us","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"temperature","type":"time_period","label":"Temperature","description":"Conversion time for temperature measurement.","default_value":"4120 us","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"}]},{"key":"reset_on_boot","type":"boolean","label":"Reset On Boot","description":"Whether or not to reset the device configuration (including counters) on component initialization. Defaults to `true`; set `false` to preserve counters through ESPHome resets.","default_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"temperature_coefficient","type":"integer","label":"Temperature Coefficient","description":"Temperature coefficient (ppm/°C) of the shunt for temperature compensation correction. Only applicable to INA228 and INA229 devices. Zero value means no compensation is done. Defaults to `0`.","default_value":"0","range":[0,16383],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"}],"provides_id_paths":{"sensor":[["bus_voltage","id"],["charge","id"],["charge_coulombs","id"],["current","id"],["energy","id"],["energy_joules","id"],["power","id"],["shunt_voltage","id"],["temperature","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.ina2xx_spi.json b/esphome_device_builder/definitions/components/sensor.ina2xx_spi.json index d72961ebb..2d001de14 100644 --- a/esphome_device_builder/definitions/components/sensor.ina2xx_spi.json +++ b/esphome_device_builder/definitions/components/sensor.ina2xx_spi.json @@ -1 +1 @@ -{"id":"sensor.ina2xx_spi","name":"Ina2Xx SPI","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/ina2xx","dependencies":["spi"],"multi_conf":true,"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"model","type":"string","label":"Model","required":true,"options":[{"label":"INA229","value":"INA229"},{"label":"INA239","value":"INA239"}],"display_format":null},{"key":"bus_voltage","type":"nested","label":"Bus Voltage","description":"Bus voltage output, V","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"charge","type":"nested","label":"Charge","description":"Calculated charge output, Ah (*INA228/229 only*)","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Ah","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"charge_coulombs","type":"nested","label":"Charge Coulombs","description":"Calculated charge output, Coulombs (*INA228/229 only*)","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"current","type":"nested","label":"Current","description":"Calculated current output, A","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"energy","type":"nested","label":"Energy","description":"Calculated energy output, Wh (*INA228/229 only*)","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"energy_joules","type":"nested","label":"Energy Joules","description":"Calculated energy output, Joules (*INA228/229 only*)","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"J","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"max_current","type":"float_with_unit","label":"Max Current","description":"The maximum current you are expecting. Component will use it to calibrate the sensor. No default value.","required":true,"display_format":null,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","unit_options":["A","nA","µA","mA","kA","MA","GA"]},{"key":"power","type":"nested","label":"Power","description":"Calculated power output, always positive, W","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"6","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"shunt_resistance","type":"float_with_unit","label":"Shunt Resistance","description":"The value of the shunt resistor used for current calculation. No default value.","required":true,"display_format":null,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","unit_options":["Ω","nΩ","µΩ","mΩ","kΩ","MΩ","GΩ"]},{"key":"shunt_voltage","type":"nested","label":"Shunt Voltage","description":"Differential voltage measured across the shunt, mV","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mV","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"Internal die temperature measurement, °C","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"adc_averaging","type":"integer","label":"ADC Averaging","description":"Selects ADC sample averaging count. Defaults to `128`. Valid values are `1`, `4`, `16`, `64`, `128`, `256`, `512`, `1024`.","default_value":"128","options":[{"label":"1","value":"1"},{"label":"4","value":"4"},{"label":"16","value":"16"},{"label":"64","value":"64"},{"label":"128","value":"128"},{"label":"256","value":"256"},{"label":"512","value":"512"},{"label":"1024","value":"1024"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"adc_range","type":"integer","label":"ADC Range","description":"Selects the range for differential input across shunt resistor. `0` for ±163.84 mV, `1` for ±40.96 mV range. Defaults to `0`.","default_value":"0","range":[0,1],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"adc_time","type":"nested","label":"ADC Time","description":"The time in microseconds to perform a single ADC conversion. Defaults to `4120 us`. Valid values are `50 us`, `84 us`, `150 us`, `280 us`, `540 us`, `1052 us`, `2074 us`, `4120 us`. Instead of one time for all ADC measurements, separate configuration of conversion times for shunt voltage, bus voltage, and temperature measurements possible. Options are the same as for `adc_time`.","default_value":"4120 us","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","config_entries":[{"key":"bus_voltage","type":"time_period","label":"Bus Voltage","description":"Conversion time for bus voltage measurement.","default_value":"4120 us","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"shunt_voltage","type":"time_period","label":"Shunt Voltage","description":"Conversion time for shunt voltage measurement.","default_value":"4120 us","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"temperature","type":"time_period","label":"Temperature","description":"Conversion time for temperature measurement.","default_value":"4120 us","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"}]},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"reset_on_boot","type":"boolean","label":"Reset On Boot","description":"Whether or not to reset the device configuration (including counters) on component initialization. Defaults to `true`; set `false` to preserve counters through ESPHome resets.","default_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true},{"key":"temperature_coefficient","type":"integer","label":"Temperature Coefficient","description":"Temperature coefficient (ppm/°C) of the shunt for temperature compensation correction. Only applicable to INA228 and INA229 devices. Zero value means no compensation is done. Defaults to `0`.","default_value":"0","range":[0,16383],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"}],"id_classes":["ina2xx_base::INA2XX","ina2xx_spi::INA2XXSPI","spi::SPIDevice"]} +{"id":"sensor.ina2xx_spi","name":"Ina2Xx SPI","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/ina2xx","dependencies":["spi"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"model","type":"string","label":"Model","required":true,"options":[{"label":"INA229","value":"INA229"},{"label":"INA239","value":"INA239"}],"display_format":null},{"key":"bus_voltage","type":"nested","label":"Bus Voltage","description":"Bus voltage output, V","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"charge","type":"nested","label":"Charge","description":"Calculated charge output, Ah (*INA228/229 only*)","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Ah","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"charge_coulombs","type":"nested","label":"Charge Coulombs","description":"Calculated charge output, Coulombs (*INA228/229 only*)","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"current","type":"nested","label":"Current","description":"Calculated current output, A","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"energy","type":"nested","label":"Energy","description":"Calculated energy output, Wh (*INA228/229 only*)","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Wh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"energy_joules","type":"nested","label":"Energy Joules","description":"Calculated energy output, Joules (*INA228/229 only*)","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"J","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"8","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"max_current","type":"float_with_unit","label":"Max Current","description":"The maximum current you are expecting. Component will use it to calibrate the sensor. No default value.","required":true,"display_format":null,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","unit_options":["A","nA","µA","mA","kA","MA","GA"]},{"key":"power","type":"nested","label":"Power","description":"Calculated power output, always positive, W","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"6","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"shunt_resistance","type":"float_with_unit","label":"Shunt Resistance","description":"The value of the shunt resistor used for current calculation. No default value.","required":true,"display_format":null,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","unit_options":["Ω","nΩ","µΩ","mΩ","kΩ","MΩ","GΩ"]},{"key":"shunt_voltage","type":"nested","label":"Shunt Voltage","description":"Differential voltage measured across the shunt, mV","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mV","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"Internal die temperature measurement, °C","display_format":null,"maybe_key":"name","help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"5","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","display_format":null,"advanced":true},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"advanced":true},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"advanced":true},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"advanced":true},{"key":"sorting_weight","type":"string","label":"Sorting Weight","display_format":null,"advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"adc_averaging","type":"integer","label":"ADC Averaging","description":"Selects ADC sample averaging count. Defaults to `128`. Valid values are `1`, `4`, `16`, `64`, `128`, `256`, `512`, `1024`.","default_value":"128","options":[{"label":"1","value":"1"},{"label":"4","value":"4"},{"label":"16","value":"16"},{"label":"64","value":"64"},{"label":"128","value":"128"},{"label":"256","value":"256"},{"label":"512","value":"512"},{"label":"1024","value":"1024"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"adc_range","type":"integer","label":"ADC Range","description":"Selects the range for differential input across shunt resistor. `0` for ±163.84 mV, `1` for ±40.96 mV range. Defaults to `0`.","default_value":"0","range":[0,1],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"adc_time","type":"nested","label":"ADC Time","description":"The time in microseconds to perform a single ADC conversion. Defaults to `4120 us`. Valid values are `50 us`, `84 us`, `150 us`, `280 us`, `540 us`, `1052 us`, `2074 us`, `4120 us`. Instead of one time for all ADC measurements, separate configuration of conversion times for shunt voltage, bus voltage, and temperature measurements possible. Options are the same as for `adc_time`.","default_value":"4120 us","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables","config_entries":[{"key":"bus_voltage","type":"time_period","label":"Bus Voltage","description":"Conversion time for bus voltage measurement.","default_value":"4120 us","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"shunt_voltage","type":"time_period","label":"Shunt Voltage","description":"Conversion time for shunt voltage measurement.","default_value":"4120 us","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"temperature","type":"time_period","label":"Temperature","description":"Conversion time for temperature measurement.","default_value":"4120 us","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"}]},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"reset_on_boot","type":"boolean","label":"Reset On Boot","description":"Whether or not to reset the device configuration (including counters) on component initialization. Defaults to `true`; set `false` to preserve counters through ESPHome resets.","default_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true},{"key":"temperature_coefficient","type":"integer","label":"Temperature Coefficient","description":"Temperature coefficient (ppm/°C) of the shunt for temperature compensation correction. Only applicable to INA228 and INA229 devices. Zero value means no compensation is done. Defaults to `0`.","default_value":"0","range":[0,16383],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina2xx#configuration-variables"}],"provides_id_paths":{"sensor":[["bus_voltage","id"],["charge","id"],["charge_coulombs","id"],["current","id"],["energy","id"],["energy_joules","id"],["power","id"],["shunt_voltage","id"],["temperature","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.ina3221.json b/esphome_device_builder/definitions/components/sensor.ina3221.json index 78ff81f11..6c3aeaf22 100644 --- a/esphome_device_builder/definitions/components/sensor.ina3221.json +++ b/esphome_device_builder/definitions/components/sensor.ina3221.json @@ -1 +1 @@ -{"id":"sensor.ina3221","name":"INA3221 3-Channel DC Current Sensor","description":"The `ina3221` sensor platform allows you to use your INA3221 3-Channel DC Current Sensor ([datasheet](http://www.ti.com/lit/ds/symlink/ina3221.pdf), [switchdoc](http://www.switchdoc.com/ina3221-breakout-board/)) sensors with ESPHome. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work.","category":"sensor","docs_url":"https://esphome.io/components/sensor/ina3221","image_url":"https://esphome.io/images/ina3221.jpg","dependencies":["i2c"],"multi_conf":true,"config_entries":[{"key":"address","type":"integer","label":"Address","description":"Manually specify the I²C address of the sensor. Defaults to `0x40`.","default_value":"64","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables"},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"channel_1","type":"nested","label":"Channel 1","description":"The configuration options for the 1st channel.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","config_entries":[{"key":"bus_voltage","type":"nested","label":"Bus Voltage","description":"Use the bus voltage (voltage of the high side contact) value on this channel in V. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value on this channel in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power","type":"nested","label":"Power","description":"Use the power value on this channel in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"shunt_voltage","type":"nested","label":"Shunt Voltage","description":"Use the shunt voltage (voltage across the shunt resistor) value on this channel in V. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"shunt_resistance","type":"float_with_unit","label":"Shunt Resistance","description":"The value of the shunt resistor on this channel for current calculation. Defaults to `0.1 ohm`.","default_value":"0.1","range":[0.0,32.0],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","unit_options":["Ω","nΩ","µΩ","mΩ","kΩ","MΩ","GΩ"]}]},{"key":"channel_2","type":"nested","label":"Channel 2","description":"The configuration options for the 2nd channel. Same options as 1st channel.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","config_entries":[{"key":"bus_voltage","type":"nested","label":"Bus Voltage","description":"Use the bus voltage (voltage of the high side contact) value on this channel in V. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value on this channel in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power","type":"nested","label":"Power","description":"Use the power value on this channel in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"shunt_voltage","type":"nested","label":"Shunt Voltage","description":"Use the shunt voltage (voltage across the shunt resistor) value on this channel in V. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"shunt_resistance","type":"float_with_unit","label":"Shunt Resistance","description":"The value of the shunt resistor on this channel for current calculation. Defaults to `0.1 ohm`.","default_value":"0.1","range":[0.0,32.0],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","unit_options":["Ω","nΩ","µΩ","mΩ","kΩ","MΩ","GΩ"]}]},{"key":"channel_3","type":"nested","label":"Channel 3","description":"The configuration options for the 3rd channel. Same options as 1st channel.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","config_entries":[{"key":"bus_voltage","type":"nested","label":"Bus Voltage","description":"Use the bus voltage (voltage of the high side contact) value on this channel in V. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value on this channel in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power","type":"nested","label":"Power","description":"Use the power value on this channel in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"shunt_voltage","type":"nested","label":"Shunt Voltage","description":"Use the shunt voltage (voltage across the shunt resistor) value on this channel in V. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"shunt_resistance","type":"float_with_unit","label":"Shunt Resistance","description":"The value of the shunt resistor on this channel for current calculation. Defaults to `0.1 ohm`.","default_value":"0.1","range":[0.0,32.0],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","unit_options":["Ω","nΩ","µΩ","mΩ","kΩ","MΩ","GΩ"]}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"id_classes":["i2c::I2CDevice","ina3221::INA3221Component"]} +{"id":"sensor.ina3221","name":"INA3221 3-Channel DC Current Sensor","description":"The `ina3221` sensor platform allows you to use your INA3221 3-Channel DC Current Sensor ([datasheet](http://www.ti.com/lit/ds/symlink/ina3221.pdf), [switchdoc](http://www.switchdoc.com/ina3221-breakout-board/)) sensors with ESPHome. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work.","category":"sensor","docs_url":"https://esphome.io/components/sensor/ina3221","image_url":"https://esphome.io/images/ina3221.jpg","dependencies":["i2c"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"Manually specify the I²C address of the sensor. Defaults to `0x40`.","default_value":"64","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables"},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"channel_1","type":"nested","label":"Channel 1","description":"The configuration options for the 1st channel.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","config_entries":[{"key":"bus_voltage","type":"nested","label":"Bus Voltage","description":"Use the bus voltage (voltage of the high side contact) value on this channel in V. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value on this channel in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power","type":"nested","label":"Power","description":"Use the power value on this channel in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"shunt_voltage","type":"nested","label":"Shunt Voltage","description":"Use the shunt voltage (voltage across the shunt resistor) value on this channel in V. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"shunt_resistance","type":"float_with_unit","label":"Shunt Resistance","description":"The value of the shunt resistor on this channel for current calculation. Defaults to `0.1 ohm`.","default_value":"0.1","range":[0.0,32.0],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","unit_options":["Ω","nΩ","µΩ","mΩ","kΩ","MΩ","GΩ"]}]},{"key":"channel_2","type":"nested","label":"Channel 2","description":"The configuration options for the 2nd channel. Same options as 1st channel.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","config_entries":[{"key":"bus_voltage","type":"nested","label":"Bus Voltage","description":"Use the bus voltage (voltage of the high side contact) value on this channel in V. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value on this channel in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power","type":"nested","label":"Power","description":"Use the power value on this channel in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"shunt_voltage","type":"nested","label":"Shunt Voltage","description":"Use the shunt voltage (voltage across the shunt resistor) value on this channel in V. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"shunt_resistance","type":"float_with_unit","label":"Shunt Resistance","description":"The value of the shunt resistor on this channel for current calculation. Defaults to `0.1 ohm`.","default_value":"0.1","range":[0.0,32.0],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","unit_options":["Ω","nΩ","µΩ","mΩ","kΩ","MΩ","GΩ"]}]},{"key":"channel_3","type":"nested","label":"Channel 3","description":"The configuration options for the 3rd channel. Same options as 1st channel.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","config_entries":[{"key":"bus_voltage","type":"nested","label":"Bus Voltage","description":"Use the bus voltage (voltage of the high side contact) value on this channel in V. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value on this channel in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power","type":"nested","label":"Power","description":"Use the power value on this channel in watts. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"shunt_voltage","type":"nested","label":"Shunt Voltage","description":"Use the shunt voltage (voltage across the shunt resistor) value on this channel in V. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"shunt_resistance","type":"float_with_unit","label":"Shunt Resistance","description":"The value of the shunt resistor on this channel for current calculation. Defaults to `0.1 ohm`.","default_value":"0.1","range":[0.0,32.0],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ina3221#configuration-variables","unit_options":["Ω","nΩ","µΩ","mΩ","kΩ","MΩ","GΩ"]}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["channel_1","bus_voltage","id"],["channel_1","current","id"],["channel_1","power","id"],["channel_1","shunt_voltage","id"],["channel_2","bus_voltage","id"],["channel_2","current","id"],["channel_2","power","id"],["channel_2","shunt_voltage","id"],["channel_3","bus_voltage","id"],["channel_3","current","id"],["channel_3","power","id"],["channel_3","shunt_voltage","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.integration.json b/esphome_device_builder/definitions/components/sensor.integration.json index 7e8a94619..eccaead30 100644 --- a/esphome_device_builder/definitions/components/sensor.integration.json +++ b/esphome_device_builder/definitions/components/sensor.integration.json @@ -1 +1 @@ -{"id":"sensor.integration","name":"Integration Sensor","description":"The `integration` sensor is a helper sensor that can integrate values from other sensors over time. This can for example be useful to integrate the values of a water flow sensor (in m^3/s) over time (result is in m^3).","category":"sensor","docs_url":"https://esphome.io/components/sensor/integration","image_url":"https://esphome.io/images/sigma.svg","multi_conf":true,"provides":["integration"],"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"sensor","type":"id","label":"Sensor","description":"The ID of the sensor to integrate over time.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/integration#configuration-variables"},{"key":"time_unit","type":"string","label":"Time Unit","description":"The time unit to integrate with, one of `ms`, `s`, `min`, `h` or `d`.","required":true,"options":[{"label":"ms","value":"ms"},{"label":"s","value":"s"},{"label":"min","value":"min"},{"label":"h","value":"h"},{"label":"d","value":"d"}],"display_format":null,"help_link":"https://esphome.io/components/sensor/integration#configuration-variables"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"integration_method","type":"string","label":"Integration Method","description":"The integration method to use. One of `trapezoid`, `left` or `right`. Defaults to `trapezoid`.","default_value":"trapezoid","options":[{"label":"trapezoid","value":"trapezoid"},{"label":"left","value":"left"},{"label":"right","value":"right"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/integration#configuration-variables"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"restore","type":"boolean","label":"Restore","description":"Whether to store the intermediate result on the device so that the value can be restored upon power cycle or reboot. Warning: this option can wear out your flash. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/integration#configuration-variables"},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"sensor.integration","name":"Integration Sensor","description":"The `integration` sensor is a helper sensor that can integrate values from other sensors over time. This can for example be useful to integrate the values of a water flow sensor (in m^3/s) over time (result is in m^3).","category":"sensor","docs_url":"https://esphome.io/components/sensor/integration","image_url":"https://esphome.io/images/sigma.svg","multi_conf":true,"provides":["integration"],"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"sensor","type":"id","label":"Sensor","description":"The ID of the sensor to integrate over time.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/integration#configuration-variables"},{"key":"time_unit","type":"string","label":"Time Unit","description":"The time unit to integrate with, one of `ms`, `s`, `min`, `h` or `d`.","required":true,"options":[{"label":"ms","value":"ms"},{"label":"s","value":"s"},{"label":"min","value":"min"},{"label":"h","value":"h"},{"label":"d","value":"d"}],"display_format":null,"help_link":"https://esphome.io/components/sensor/integration#configuration-variables"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"integration_method","type":"string","label":"Integration Method","description":"The integration method to use. One of `trapezoid`, `left` or `right`. Defaults to `trapezoid`.","default_value":"trapezoid","options":[{"label":"trapezoid","value":"trapezoid"},{"label":"left","value":"left"},{"label":"right","value":"right"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/integration#configuration-variables"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"restore","type":"boolean","label":"Restore","description":"Whether to store the intermediate result on the device so that the value can be restored upon power cycle or reboot. Warning: this option can wear out your flash. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/integration#configuration-variables"},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/sensor.ld6002b.json b/esphome_device_builder/definitions/components/sensor.ld6002b.json index 02d01370b..609a49c24 100644 --- a/esphome_device_builder/definitions/components/sensor.ld6002b.json +++ b/esphome_device_builder/definitions/components/sensor.ld6002b.json @@ -1 +1 @@ -{"id":"sensor.ld6002b","name":"LD6002B 3D Presence Radar","description":"The `ld6002b` sensor provides target coordinates, point-cloud count, and configured area coordinates.","category":"sensor","docs_url":"https://esphome.io/components/sensor/ld6002b","image_url":"https://esphome.io/images/ld6002b.png","dependencies":["ld6002b"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"ld6002b_id","type":"id","label":"Ld6002B ID","description":"Manually specify the ID of the LD6002B component.","display_format":null,"references_component":"ld6002b","help_link":"https://esphome.io/components/sensor/ld6002b#configuration-variables"},{"key":"point_count","type":"nested","label":"Point Count","description":"Total number of point-cloud points reported by the radar. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ld6002b#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"target_count","type":"nested","label":"Target Count","description":"Total number of targets currently detected (0 to 3). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ld6002b#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"detection_area_0","type":"nested","label":"Detection Area 0","display_format":null,"advanced":true,"config_entries":[{"key":"x_max","type":"nested","label":"X Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x_min","type":"nested","label":"X Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_max","type":"nested","label":"Y Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_min","type":"nested","label":"Y Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_max","type":"nested","label":"Z Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_min","type":"nested","label":"Z Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"detection_area_1","type":"nested","label":"Detection Area 1","display_format":null,"advanced":true,"config_entries":[{"key":"x_max","type":"nested","label":"X Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x_min","type":"nested","label":"X Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_max","type":"nested","label":"Y Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_min","type":"nested","label":"Y Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_max","type":"nested","label":"Z Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_min","type":"nested","label":"Z Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"detection_area_2","type":"nested","label":"Detection Area 2","display_format":null,"advanced":true,"config_entries":[{"key":"x_max","type":"nested","label":"X Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x_min","type":"nested","label":"X Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_max","type":"nested","label":"Y Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_min","type":"nested","label":"Y Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_max","type":"nested","label":"Z Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_min","type":"nested","label":"Z Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"detection_area_3","type":"nested","label":"Detection Area 3","display_format":null,"advanced":true,"config_entries":[{"key":"x_max","type":"nested","label":"X Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x_min","type":"nested","label":"X Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_max","type":"nested","label":"Y Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_min","type":"nested","label":"Y Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_max","type":"nested","label":"Z Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_min","type":"nested","label":"Z Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"interference_area_0","type":"nested","label":"Interference Area 0","display_format":null,"advanced":true,"config_entries":[{"key":"x_max","type":"nested","label":"X Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x_min","type":"nested","label":"X Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_max","type":"nested","label":"Y Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_min","type":"nested","label":"Y Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_max","type":"nested","label":"Z Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_min","type":"nested","label":"Z Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"interference_area_1","type":"nested","label":"Interference Area 1","display_format":null,"advanced":true,"config_entries":[{"key":"x_max","type":"nested","label":"X Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x_min","type":"nested","label":"X Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_max","type":"nested","label":"Y Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_min","type":"nested","label":"Y Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_max","type":"nested","label":"Z Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_min","type":"nested","label":"Z Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"interference_area_2","type":"nested","label":"Interference Area 2","display_format":null,"advanced":true,"config_entries":[{"key":"x_max","type":"nested","label":"X Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x_min","type":"nested","label":"X Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_max","type":"nested","label":"Y Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_min","type":"nested","label":"Y Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_max","type":"nested","label":"Z Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_min","type":"nested","label":"Z Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"interference_area_3","type":"nested","label":"Interference Area 3","display_format":null,"advanced":true,"config_entries":[{"key":"x_max","type":"nested","label":"X Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x_min","type":"nested","label":"X Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_max","type":"nested","label":"Y Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_min","type":"nested","label":"Y Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_max","type":"nested","label":"Z Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_min","type":"nested","label":"Z Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"target_1","type":"nested","label":"Target 1","display_format":null,"advanced":true,"config_entries":[{"key":"cluster_id","type":"nested","label":"Cluster ID","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"doppler_index","type":"nested","label":"Doppler Index","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x","type":"nested","label":"X","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y","type":"nested","label":"Y","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z","type":"nested","label":"Z","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"target_2","type":"nested","label":"Target 2","display_format":null,"advanced":true,"config_entries":[{"key":"cluster_id","type":"nested","label":"Cluster ID","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"doppler_index","type":"nested","label":"Doppler Index","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x","type":"nested","label":"X","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y","type":"nested","label":"Y","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z","type":"nested","label":"Z","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"target_3","type":"nested","label":"Target 3","display_format":null,"advanced":true,"config_entries":[{"key":"cluster_id","type":"nested","label":"Cluster ID","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"doppler_index","type":"nested","label":"Doppler Index","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x","type":"nested","label":"X","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y","type":"nested","label":"Y","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z","type":"nested","label":"Z","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]}],"provides_id_paths":{"sensor":[["point_count","id"],["target_count","id"]]}} +{"id":"sensor.ld6002b","name":"LD6002B 3D Presence Radar","description":"The `ld6002b` sensor provides target coordinates, point-cloud count, and configured area coordinates.","category":"sensor","docs_url":"https://esphome.io/components/sensor/ld6002b","image_url":"https://esphome.io/images/ld6002b.png","dependencies":["ld6002b"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"ld6002b_id","type":"id","label":"Ld6002B ID","description":"Manually specify the ID of the LD6002B component.","display_format":null,"references_component":"ld6002b","help_link":"https://esphome.io/components/sensor/ld6002b#configuration-variables"},{"key":"point_count","type":"nested","label":"Point Count","description":"Total number of point-cloud points reported by the radar. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ld6002b#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"target_count","type":"nested","label":"Target Count","description":"Total number of targets currently detected (0 to 3). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ld6002b#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"detection_area_0","type":"nested","label":"Detection Area 0","display_format":null,"advanced":true,"config_entries":[{"key":"x_max","type":"nested","label":"X Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x_min","type":"nested","label":"X Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_max","type":"nested","label":"Y Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_min","type":"nested","label":"Y Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_max","type":"nested","label":"Z Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_min","type":"nested","label":"Z Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"detection_area_1","type":"nested","label":"Detection Area 1","display_format":null,"advanced":true,"config_entries":[{"key":"x_max","type":"nested","label":"X Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x_min","type":"nested","label":"X Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_max","type":"nested","label":"Y Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_min","type":"nested","label":"Y Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_max","type":"nested","label":"Z Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_min","type":"nested","label":"Z Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"detection_area_2","type":"nested","label":"Detection Area 2","display_format":null,"advanced":true,"config_entries":[{"key":"x_max","type":"nested","label":"X Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x_min","type":"nested","label":"X Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_max","type":"nested","label":"Y Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_min","type":"nested","label":"Y Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_max","type":"nested","label":"Z Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_min","type":"nested","label":"Z Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"detection_area_3","type":"nested","label":"Detection Area 3","display_format":null,"advanced":true,"config_entries":[{"key":"x_max","type":"nested","label":"X Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x_min","type":"nested","label":"X Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_max","type":"nested","label":"Y Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_min","type":"nested","label":"Y Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_max","type":"nested","label":"Z Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_min","type":"nested","label":"Z Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"interference_area_0","type":"nested","label":"Interference Area 0","display_format":null,"advanced":true,"config_entries":[{"key":"x_max","type":"nested","label":"X Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x_min","type":"nested","label":"X Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_max","type":"nested","label":"Y Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_min","type":"nested","label":"Y Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_max","type":"nested","label":"Z Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_min","type":"nested","label":"Z Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"interference_area_1","type":"nested","label":"Interference Area 1","display_format":null,"advanced":true,"config_entries":[{"key":"x_max","type":"nested","label":"X Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x_min","type":"nested","label":"X Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_max","type":"nested","label":"Y Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_min","type":"nested","label":"Y Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_max","type":"nested","label":"Z Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_min","type":"nested","label":"Z Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"interference_area_2","type":"nested","label":"Interference Area 2","display_format":null,"advanced":true,"config_entries":[{"key":"x_max","type":"nested","label":"X Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x_min","type":"nested","label":"X Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_max","type":"nested","label":"Y Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_min","type":"nested","label":"Y Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_max","type":"nested","label":"Z Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_min","type":"nested","label":"Z Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"interference_area_3","type":"nested","label":"Interference Area 3","display_format":null,"advanced":true,"config_entries":[{"key":"x_max","type":"nested","label":"X Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x_min","type":"nested","label":"X Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_max","type":"nested","label":"Y Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y_min","type":"nested","label":"Y Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_max","type":"nested","label":"Z Max","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z_min","type":"nested","label":"Z Min","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"target_1","type":"nested","label":"Target 1","display_format":null,"advanced":true,"config_entries":[{"key":"cluster_id","type":"nested","label":"Cluster ID","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"doppler_index","type":"nested","label":"Doppler Index","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x","type":"nested","label":"X","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y","type":"nested","label":"Y","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z","type":"nested","label":"Z","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"target_2","type":"nested","label":"Target 2","display_format":null,"advanced":true,"config_entries":[{"key":"cluster_id","type":"nested","label":"Cluster ID","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"doppler_index","type":"nested","label":"Doppler Index","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x","type":"nested","label":"X","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y","type":"nested","label":"Y","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z","type":"nested","label":"Z","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"target_3","type":"nested","label":"Target 3","display_format":null,"advanced":true,"config_entries":[{"key":"cluster_id","type":"nested","label":"Cluster ID","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"doppler_index","type":"nested","label":"Doppler Index","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x","type":"nested","label":"X","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y","type":"nested","label":"Y","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"z","type":"nested","label":"Z","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"m","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","default_value":"[{'timeout': {'timeout': TimePeriod<1000000000ns>, 'value': 'last'}}, {'throttle_with_priority': TimePeriod<1000000000ns>}]","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]}],"provides_id_paths":{"sensor":[["detection_area_0","x_max","id"],["detection_area_0","x_min","id"],["detection_area_0","y_max","id"],["detection_area_0","y_min","id"],["detection_area_0","z_max","id"],["detection_area_0","z_min","id"],["detection_area_1","x_max","id"],["detection_area_1","x_min","id"],["detection_area_1","y_max","id"],["detection_area_1","y_min","id"],["detection_area_1","z_max","id"],["detection_area_1","z_min","id"],["detection_area_2","x_max","id"],["detection_area_2","x_min","id"],["detection_area_2","y_max","id"],["detection_area_2","y_min","id"],["detection_area_2","z_max","id"],["detection_area_2","z_min","id"],["detection_area_3","x_max","id"],["detection_area_3","x_min","id"],["detection_area_3","y_max","id"],["detection_area_3","y_min","id"],["detection_area_3","z_max","id"],["detection_area_3","z_min","id"],["interference_area_0","x_max","id"],["interference_area_0","x_min","id"],["interference_area_0","y_max","id"],["interference_area_0","y_min","id"],["interference_area_0","z_max","id"],["interference_area_0","z_min","id"],["interference_area_1","x_max","id"],["interference_area_1","x_min","id"],["interference_area_1","y_max","id"],["interference_area_1","y_min","id"],["interference_area_1","z_max","id"],["interference_area_1","z_min","id"],["interference_area_2","x_max","id"],["interference_area_2","x_min","id"],["interference_area_2","y_max","id"],["interference_area_2","y_min","id"],["interference_area_2","z_max","id"],["interference_area_2","z_min","id"],["interference_area_3","x_max","id"],["interference_area_3","x_min","id"],["interference_area_3","y_max","id"],["interference_area_3","y_min","id"],["interference_area_3","z_max","id"],["interference_area_3","z_min","id"],["point_count","id"],["target_1","cluster_id","id"],["target_1","doppler_index","id"],["target_1","x","id"],["target_1","y","id"],["target_1","z","id"],["target_2","cluster_id","id"],["target_2","doppler_index","id"],["target_2","x","id"],["target_2","y","id"],["target_2","z","id"],["target_3","cluster_id","id"],["target_3","doppler_index","id"],["target_3","x","id"],["target_3","y","id"],["target_3","z","id"],["target_count","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.ntc.json b/esphome_device_builder/definitions/components/sensor.ntc.json index 7995ef3db..6d73e7f46 100644 --- a/esphome_device_builder/definitions/components/sensor.ntc.json +++ b/esphome_device_builder/definitions/components/sensor.ntc.json @@ -1 +1 @@ -{"id":"sensor.ntc","name":"NTC Sensor","description":"The `ntc` platform is a helper sensor that allows you to convert resistance readings from a NTC thermistor to temperature readings.","category":"sensor","docs_url":"https://esphome.io/components/sensor/ntc","image_url":"https://esphome.io/images/ntc.jpg","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"calibration","type":"unknown","label":"Calibration","description":"The calibration parameters of the sensor - see above for more details.","required":true,"display_format":null,"help_link":"https://esphome.io/components/sensor/ntc#configuration-variables"},{"key":"sensor","type":"id","label":"Sensor","description":"The sensor to read the resistance values from to convert to temperature readings.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/ntc#configuration-variables"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"sensor.ntc","name":"NTC Sensor","description":"The `ntc` platform is a helper sensor that allows you to convert resistance readings from a NTC thermistor to temperature readings.","category":"sensor","docs_url":"https://esphome.io/components/sensor/ntc","image_url":"https://esphome.io/images/ntc.jpg","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"calibration","type":"unknown","label":"Calibration","description":"The calibration parameters of the sensor - see above for more details.","required":true,"display_format":null,"help_link":"https://esphome.io/components/sensor/ntc#configuration-variables"},{"key":"sensor","type":"id","label":"Sensor","description":"The sensor to read the resistance values from to convert to temperature readings.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/ntc#configuration-variables"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/sensor.rd03d.json b/esphome_device_builder/definitions/components/sensor.rd03d.json index 7fda6444b..398468ce3 100644 --- a/esphome_device_builder/definitions/components/sensor.rd03d.json +++ b/esphome_device_builder/definitions/components/sensor.rd03d.json @@ -1 +1 @@ -{"id":"sensor.rd03d","name":"RD-03D mmWave Radar","description":"The `rd03d` sensor provides detailed information about detected targets.","category":"sensor","docs_url":"https://esphome.io/components/sensor/rd03d","image_url":"https://esphome.io/images/rd03d.webp","dependencies":["rd03d"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"rd03d_id","type":"id","label":"Rd03D ID","description":"Manually specify the ID of the RD-03D component.","display_format":null,"references_component":"rd03d","help_link":"https://esphome.io/components/sensor/rd03d#configuration-variables"},{"key":"target_count","type":"nested","label":"Target Count","description":"Total number of targets currently detected (0 to 3). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/rd03d#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"target_1","type":"nested","label":"Target 1","display_format":null,"advanced":true,"config_entries":[{"key":"angle","type":"nested","label":"Angle","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"distance","type":"nested","label":"Distance","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"resolution","type":"nested","label":"Resolution","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"speed","type":"nested","label":"Speed","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"speed","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm/s","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x","type":"nested","label":"X","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y","type":"nested","label":"Y","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"target_2","type":"nested","label":"Target 2","display_format":null,"advanced":true,"config_entries":[{"key":"angle","type":"nested","label":"Angle","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"distance","type":"nested","label":"Distance","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"resolution","type":"nested","label":"Resolution","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"speed","type":"nested","label":"Speed","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"speed","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm/s","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x","type":"nested","label":"X","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y","type":"nested","label":"Y","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"target_3","type":"nested","label":"Target 3","display_format":null,"advanced":true,"config_entries":[{"key":"angle","type":"nested","label":"Angle","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"distance","type":"nested","label":"Distance","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"resolution","type":"nested","label":"Resolution","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"speed","type":"nested","label":"Speed","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"speed","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm/s","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x","type":"nested","label":"X","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y","type":"nested","label":"Y","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]}],"provides_id_paths":{"sensor":[["target_count","id"]]}} +{"id":"sensor.rd03d","name":"RD-03D mmWave Radar","description":"The `rd03d` sensor provides detailed information about detected targets.","category":"sensor","docs_url":"https://esphome.io/components/sensor/rd03d","image_url":"https://esphome.io/images/rd03d.webp","dependencies":["rd03d"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"rd03d_id","type":"id","label":"Rd03D ID","description":"Manually specify the ID of the RD-03D component.","display_format":null,"references_component":"rd03d","help_link":"https://esphome.io/components/sensor/rd03d#configuration-variables"},{"key":"target_count","type":"nested","label":"Target Count","description":"Total number of targets currently detected (0 to 3). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/rd03d#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"target_1","type":"nested","label":"Target 1","display_format":null,"advanced":true,"config_entries":[{"key":"angle","type":"nested","label":"Angle","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"distance","type":"nested","label":"Distance","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"resolution","type":"nested","label":"Resolution","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"speed","type":"nested","label":"Speed","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"speed","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm/s","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x","type":"nested","label":"X","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y","type":"nested","label":"Y","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"target_2","type":"nested","label":"Target 2","display_format":null,"advanced":true,"config_entries":[{"key":"angle","type":"nested","label":"Angle","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"distance","type":"nested","label":"Distance","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"resolution","type":"nested","label":"Resolution","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"speed","type":"nested","label":"Speed","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"speed","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm/s","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x","type":"nested","label":"X","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y","type":"nested","label":"Y","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"target_3","type":"nested","label":"Target 3","display_format":null,"advanced":true,"config_entries":[{"key":"angle","type":"nested","label":"Angle","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"distance","type":"nested","label":"Distance","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"resolution","type":"nested","label":"Resolution","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"speed","type":"nested","label":"Speed","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"speed","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm/s","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"x","type":"nested","label":"X","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"y","type":"nested","label":"Y","display_format":null,"advanced":true,"platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"distance","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]}],"provides_id_paths":{"sensor":[["target_1","angle","id"],["target_1","distance","id"],["target_1","resolution","id"],["target_1","speed","id"],["target_1","x","id"],["target_1","y","id"],["target_2","angle","id"],["target_2","distance","id"],["target_2","resolution","id"],["target_2","speed","id"],["target_2","x","id"],["target_2","y","id"],["target_3","angle","id"],["target_3","distance","id"],["target_3","resolution","id"],["target_3","speed","id"],["target_3","x","id"],["target_3","y","id"],["target_count","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.resistance.json b/esphome_device_builder/definitions/components/sensor.resistance.json index b18ef722c..5ffb6352b 100644 --- a/esphome_device_builder/definitions/components/sensor.resistance.json +++ b/esphome_device_builder/definitions/components/sensor.resistance.json @@ -1 +1 @@ -{"id":"sensor.resistance","name":"Resistance Sensor","description":"The `resistance` platform is a helper sensor that allows you to convert readings from a voltage sensor (such as the [ADC Sensor](https://esphome.io/components/sensor/adc/)) into resistance readings in Ω (ohm).","category":"sensor","docs_url":"https://esphome.io/components/sensor/resistance","image_url":"https://esphome.io/images/omega.svg","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"configuration","type":"string","label":"Configuration","description":"The type of circuit, one of `DOWNSTREAM` or `UPSTREAM`.","required":true,"options":[{"label":"DOWNSTREAM","value":"DOWNSTREAM"},{"label":"UPSTREAM","value":"UPSTREAM"}],"display_format":null,"help_link":"https://esphome.io/components/sensor/resistance#configuration-variables"},{"key":"resistor","type":"float_with_unit","label":"Resistor","description":"The value of the resistor with a constant value.","required":true,"display_format":null,"help_link":"https://esphome.io/components/sensor/resistance#configuration-variables","unit_options":["Ω","nΩ","µΩ","mΩ","kΩ","MΩ","GΩ"]},{"key":"sensor","type":"id","label":"Sensor","description":"The sensor to read the voltage values from to convert to resistance readings.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/resistance#configuration-variables"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:flash","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Ω","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"reference_voltage","type":"float_with_unit","label":"Reference Voltage","description":"The reference voltage. Defaults to `3.3V`.","default_value":"3.3V","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/resistance#configuration-variables","unit_options":["V","nV","µV","mV","kV","MV","GV"]},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"sensor.resistance","name":"Resistance Sensor","description":"The `resistance` platform is a helper sensor that allows you to convert readings from a voltage sensor (such as the [ADC Sensor](https://esphome.io/components/sensor/adc/)) into resistance readings in Ω (ohm).","category":"sensor","docs_url":"https://esphome.io/components/sensor/resistance","image_url":"https://esphome.io/images/omega.svg","multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"configuration","type":"string","label":"Configuration","description":"The type of circuit, one of `DOWNSTREAM` or `UPSTREAM`.","required":true,"options":[{"label":"DOWNSTREAM","value":"DOWNSTREAM"},{"label":"UPSTREAM","value":"UPSTREAM"}],"display_format":null,"help_link":"https://esphome.io/components/sensor/resistance#configuration-variables"},{"key":"resistor","type":"float_with_unit","label":"Resistor","description":"The value of the resistor with a constant value.","required":true,"display_format":null,"help_link":"https://esphome.io/components/sensor/resistance#configuration-variables","unit_options":["Ω","nΩ","µΩ","mΩ","kΩ","MΩ","GΩ"]},{"key":"sensor","type":"id","label":"Sensor","description":"The sensor to read the voltage values from to convert to resistance readings.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/resistance#configuration-variables"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:flash","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Ω","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"reference_voltage","type":"float_with_unit","label":"Reference Voltage","description":"The reference voltage. Defaults to `3.3V`.","default_value":"3.3V","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/resistance#configuration-variables","unit_options":["V","nV","µV","mV","kV","MV","GV"]},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/sensor.scd4x.json b/esphome_device_builder/definitions/components/sensor.scd4x.json index 7455dbb34..0c31063d9 100644 --- a/esphome_device_builder/definitions/components/sensor.scd4x.json +++ b/esphome_device_builder/definitions/components/sensor.scd4x.json @@ -1 +1 @@ -{"id":"sensor.scd4x","name":"SCD4X CO₂, Temperature and Relative Humidity Sensor","description":"The `scd4x` sensor platform allows you to use your Sensirion SCD4X CO₂ ([datasheet](https://sensirion.com/media/documents/48C4B7FB/67FE0194/CD_DS_SCD4x_Datasheet_D1.pdf)) sensors with ESPHome. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work.","category":"sensor","docs_url":"https://esphome.io/components/sensor/scd4x","image_url":"https://esphome.io/images/scd4x.jpg","dependencies":["i2c"],"multi_conf":true,"provides":["scd4x","sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"Manually specify the I²C address of the sensor. Defaults to `0x62`.","default_value":"98","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables"},{"key":"ambient_pressure_compensation_source","type":"id","label":"Ambient Pressure Compensation Source","description":"Set an external pressure sensor ID used for ambient pressure compensation. The pressure sensor must report pressure in hPa. the correction is applied before updating the state of the co2 sensor.","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables"},{"key":"co2","type":"nested","label":"CO2","description":"The information for the CO₂ sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:molecule-co2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"carbon_dioxide","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"humidity","type":"nested","label":"Humidity","description":"The information for the Humidity sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:water-percent","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"humidity","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"The information for the Temperature sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:thermometer","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"altitude_compensation","type":"float_with_unit","label":"Altitude Compensation","description":"Enable compensating deviations due to current altitude (in metres). Notice: setting *altitude_compensation* is ignored if *ambient_pressure_compensation* is set.","default_value":"0m","range":[0,65535],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables","unit_options":["MAMSL","nMAMSL","µMAMSL","mMAMSL","kMAMSL","MMAMSL","GMAMSL"]},{"key":"ambient_pressure_compensation","type":"float_with_unit","label":"Ambient Pressure Compensation","description":"Enable compensation of measured CO₂ values based on given ambient pressure in mBar.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables","unit_options":["Bar","nBar","µBar","mBar","kBar","MBar","GBar"]},{"key":"automatic_self_calibration","type":"boolean","label":"Automatic Self Calibration","description":"Whether to enable automatic self calibration (ASC). Defaults to `true`.","default_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables"},{"key":"measurement_mode","type":"string","label":"Measurement Mode","description":"Set measurement mode for scd4x.","default_value":"periodic","options":[{"label":"periodic","value":"periodic"},{"label":"low_power_periodic","value":"low_power_periodic"},{"label":"single_shot","value":"single_shot"},{"label":"single_shot_rht_only","value":"single_shot_rht_only"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"temperature_offset","type":"float_with_unit","label":"Temperature Offset","description":"The temperature offset can depend on various factors such as the SCD4x measurement mode, self-heating of close components, the ambient temperature and air flow. This variable allows the compensation of those effects by setting a temperature offset. Defaults to `4°C`.","default_value":"4°C","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables","unit_options":["°C","°F","K"]}],"provides_id_paths":{"sensor":[["co2","id"],["humidity","id"],["temperature","id"]]}} +{"id":"sensor.scd4x","name":"SCD4X CO₂, Temperature and Relative Humidity Sensor","description":"The `scd4x` sensor platform allows you to use your Sensirion SCD4X CO₂ ([datasheet](https://sensirion.com/media/documents/48C4B7FB/67FE0194/CD_DS_SCD4x_Datasheet_D1.pdf)) sensors with ESPHome. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work.","category":"sensor","docs_url":"https://esphome.io/components/sensor/scd4x","image_url":"https://esphome.io/images/scd4x.jpg","dependencies":["i2c"],"multi_conf":true,"provides":["scd4x","sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"Manually specify the I²C address of the sensor. Defaults to `0x62`.","default_value":"98","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables"},{"key":"ambient_pressure_compensation_source","type":"id","label":"Ambient Pressure Compensation Source","description":"Set an external pressure sensor ID used for ambient pressure compensation. The pressure sensor must report pressure in hPa. the correction is applied before updating the state of the co2 sensor.","display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables"},{"key":"co2","type":"nested","label":"CO2","description":"The information for the CO₂ sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:molecule-co2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"carbon_dioxide","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"humidity","type":"nested","label":"Humidity","description":"The information for the Humidity sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:water-percent","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"humidity","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"%","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"The information for the Temperature sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:thermometer","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"altitude_compensation","type":"float_with_unit","label":"Altitude Compensation","description":"Enable compensating deviations due to current altitude (in metres). Notice: setting *altitude_compensation* is ignored if *ambient_pressure_compensation* is set.","default_value":"0m","range":[0,65535],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables","unit_options":["MAMSL","nMAMSL","µMAMSL","mMAMSL","kMAMSL","MMAMSL","GMAMSL"]},{"key":"ambient_pressure_compensation","type":"float_with_unit","label":"Ambient Pressure Compensation","description":"Enable compensation of measured CO₂ values based on given ambient pressure in mBar.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables","unit_options":["Bar","nBar","µBar","mBar","kBar","MBar","GBar"]},{"key":"automatic_self_calibration","type":"boolean","label":"Automatic Self Calibration","description":"Whether to enable automatic self calibration (ASC). Defaults to `true`.","default_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables"},{"key":"measurement_mode","type":"string","label":"Measurement Mode","description":"Set measurement mode for scd4x.","default_value":"periodic","options":[{"label":"periodic","value":"periodic"},{"label":"low_power_periodic","value":"low_power_periodic"},{"label":"single_shot","value":"single_shot"},{"label":"single_shot_rht_only","value":"single_shot_rht_only"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"temperature_offset","type":"float_with_unit","label":"Temperature Offset","description":"The temperature offset can depend on various factors such as the SCD4x measurement mode, self-heating of close components, the ambient temperature and air flow. This variable allows the compensation of those effects by setting a temperature offset. Defaults to `4°C`.","default_value":"4°C","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/scd4x#configuration-variables","unit_options":["°C","°F","K"]}],"provides_id_paths":{"sensor":[["co2","id"],["humidity","id"],["temperature","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.sdm_meter.json b/esphome_device_builder/definitions/components/sensor.sdm_meter.json index 49a290bd6..c4cc4e645 100644 --- a/esphome_device_builder/definitions/components/sensor.sdm_meter.json +++ b/esphome_device_builder/definitions/components/sensor.sdm_meter.json @@ -1 +1 @@ -{"id":"sensor.sdm_meter","name":"Eastron SDM Energy Monitor","description":"The `sdm_meter` sensor platform allows you to use Eastron SDM modbus energy monitors ([website](http://www.eastrongroup.com/product_detail.php?id=170&menu1=&menu2=)) with ESPHome.","category":"sensor","docs_url":"https://esphome.io/components/sensor/sdm_meter","image_url":"https://esphome.io/images/sdm220m.jpg","dependencies":["modbus","uart"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"The address of the sensor if multiple sensors are attached to the same UART bus. You will need to set the address of each device manually. Defaults to `1`.","default_value":"1","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"10s","display_format":null,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables"},{"key":"export_active_energy","type":"nested","label":"Export Active Energy","description":"Use the export active energy value of the sensor in kilowatt hours (kWh). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kWh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"export_reactive_energy","type":"nested","label":"Export Reactive Energy","description":"Use the export reactive energy value of the sensor in kilovolt amps reactive hours (kVArh). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kvarh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"frequency","type":"nested","label":"Frequency","description":"Use the frequency value of the sensor in hertz. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:current-ac","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"frequency","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Hz","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"import_active_energy","type":"nested","label":"Import Active Energy","description":"Use the import active energy value of the sensor in kilowatt hours (kWh). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kWh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"import_reactive_energy","type":"nested","label":"Import Reactive Energy","description":"Use the import reactive energy value of the sensor in kilovolt amps reactive hours (kVArh). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kvarh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"modbus_id","type":"id","label":"Modbus ID","display_format":null,"references_component":"modbus","references_class":"modbus::ModbusClientHub"},{"key":"total_power","type":"nested","label":"Total Power","description":"Use the total power value of the sensor in watts (W). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"phase_a","type":"nested","label":"Phase A","description":"The group of exposed sensors for Phase A/1.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts (W). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Use the apparent power value of the sensor in volt amps (VA). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"phase_angle","type":"nested","label":"Phase Angle","description":"Use the phase angle value of the sensor in degrees (°). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:flash","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Use the power factor value of the sensor. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power","type":"nested","label":"Reactive Power","description":"Use the reactive power value of the sensor in volt amps reactive (VAR). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts (V). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"phase_b","type":"nested","label":"Phase B","description":"The group of exposed sensors for Phase B/2 on applicable meters. eg: SDM630.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts (W). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Use the apparent power value of the sensor in volt amps (VA). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"phase_angle","type":"nested","label":"Phase Angle","description":"Use the phase angle value of the sensor in degrees (°). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:flash","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Use the power factor value of the sensor. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power","type":"nested","label":"Reactive Power","description":"Use the reactive power value of the sensor in volt amps reactive (VAR). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts (V). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"phase_c","type":"nested","label":"Phase C","description":"The group of exposed sensors for Phase C/3 on applicable meters. eg: SDM630.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts (W). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Use the apparent power value of the sensor in volt amps (VA). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"phase_angle","type":"nested","label":"Phase Angle","description":"Use the phase angle value of the sensor in degrees (°). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:flash","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Use the power factor value of the sensor. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power","type":"nested","label":"Reactive Power","description":"Use the reactive power value of the sensor in volt amps reactive (VAR). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts (V). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["export_active_energy","id"],["export_reactive_energy","id"],["frequency","id"],["import_active_energy","id"],["import_reactive_energy","id"],["total_power","id"]]}} +{"id":"sensor.sdm_meter","name":"Eastron SDM Energy Monitor","description":"The `sdm_meter` sensor platform allows you to use Eastron SDM modbus energy monitors ([website](http://www.eastrongroup.com/product_detail.php?id=170&menu1=&menu2=)) with ESPHome.","category":"sensor","docs_url":"https://esphome.io/components/sensor/sdm_meter","image_url":"https://esphome.io/images/sdm220m.jpg","dependencies":["modbus","uart"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"The address of the sensor if multiple sensors are attached to the same UART bus. You will need to set the address of each device manually. Defaults to `1`.","default_value":"1","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"10s","display_format":null,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables"},{"key":"export_active_energy","type":"nested","label":"Export Active Energy","description":"Use the export active energy value of the sensor in kilowatt hours (kWh). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kWh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"export_reactive_energy","type":"nested","label":"Export Reactive Energy","description":"Use the export reactive energy value of the sensor in kilovolt amps reactive hours (kVArh). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kvarh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"frequency","type":"nested","label":"Frequency","description":"Use the frequency value of the sensor in hertz. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:current-ac","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"frequency","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Hz","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"import_active_energy","type":"nested","label":"Import Active Energy","description":"Use the import active energy value of the sensor in kilowatt hours (kWh). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kWh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"import_reactive_energy","type":"nested","label":"Import Reactive Energy","description":"Use the import reactive energy value of the sensor in kilovolt amps reactive hours (kVArh). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"kvarh","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"modbus_id","type":"id","label":"Modbus ID","display_format":null,"references_component":"modbus","references_class":"modbus::ModbusClientHub"},{"key":"total_power","type":"nested","label":"Total Power","description":"Use the total power value of the sensor in watts (W). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"phase_a","type":"nested","label":"Phase A","description":"The group of exposed sensors for Phase A/1.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts (W). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Use the apparent power value of the sensor in volt amps (VA). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"phase_angle","type":"nested","label":"Phase Angle","description":"Use the phase angle value of the sensor in degrees (°). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:flash","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Use the power factor value of the sensor. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power","type":"nested","label":"Reactive Power","description":"Use the reactive power value of the sensor in volt amps reactive (VAR). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts (V). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"phase_b","type":"nested","label":"Phase B","description":"The group of exposed sensors for Phase B/2 on applicable meters. eg: SDM630.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts (W). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Use the apparent power value of the sensor in volt amps (VA). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"phase_angle","type":"nested","label":"Phase Angle","description":"Use the phase angle value of the sensor in degrees (°). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:flash","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Use the power factor value of the sensor. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power","type":"nested","label":"Reactive Power","description":"Use the reactive power value of the sensor in volt amps reactive (VAR). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts (V). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"phase_c","type":"nested","label":"Phase C","description":"The group of exposed sensors for Phase C/3 on applicable meters. eg: SDM630.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","config_entries":[{"key":"active_power","type":"nested","label":"Active Power","description":"Use the (active) power value of the sensor in watts (W). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"W","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"apparent_power","type":"nested","label":"Apparent Power","description":"Use the apparent power value of the sensor in volt amps (VA). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"apparent_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"VA","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"current","type":"nested","label":"Current","description":"Use the current value of the sensor in amperes. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"current","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"A","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"phase_angle","type":"nested","label":"Phase Angle","description":"Use the phase angle value of the sensor in degrees (°). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:flash","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"power_factor","type":"nested","label":"Power Factor","description":"Use the power factor value of the sensor. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"power_factor","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"3","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"reactive_power","type":"nested","label":"Reactive Power","description":"Use the reactive power value of the sensor in volt amps reactive (VAR). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"reactive_power","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"var","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"voltage","type":"nested","label":"Voltage","description":"Use the voltage value of the sensor in volts (V). All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sdm_meter#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","advanced":true,"supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"voltage","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"V","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["export_active_energy","id"],["export_reactive_energy","id"],["frequency","id"],["import_active_energy","id"],["import_reactive_energy","id"],["phase_a","active_power","id"],["phase_a","apparent_power","id"],["phase_a","current","id"],["phase_a","phase_angle","id"],["phase_a","power_factor","id"],["phase_a","reactive_power","id"],["phase_a","voltage","id"],["phase_b","active_power","id"],["phase_b","apparent_power","id"],["phase_b","current","id"],["phase_b","phase_angle","id"],["phase_b","power_factor","id"],["phase_b","reactive_power","id"],["phase_b","voltage","id"],["phase_c","active_power","id"],["phase_c","apparent_power","id"],["phase_c","current","id"],["phase_c","phase_angle","id"],["phase_c","power_factor","id"],["phase_c","reactive_power","id"],["phase_c","voltage","id"],["total_power","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.sgp30.json b/esphome_device_builder/definitions/components/sensor.sgp30.json index e2c3b08bc..1d65b5cf9 100644 --- a/esphome_device_builder/definitions/components/sensor.sgp30.json +++ b/esphome_device_builder/definitions/components/sensor.sgp30.json @@ -1 +1 @@ -{"id":"sensor.sgp30","name":"SGP30 CO₂ and Volatile Organic Compound Sensor","description":"The `sgp30` sensor platform allows you to use your Sensirion SGP30 multi-pixel gas ([datasheet](https://sensirion.com/media/documents/984E0DD5/61644B8B/Sensirion_Gas_Sensors_Datasheet_SGP30.pdf)) sensors or the SVM30 breakout-boards ([product page](https://sensirion.com/products/catalog/SVM30/)) with ESPHome. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work.","category":"sensor","docs_url":"https://esphome.io/components/sensor/sgp30","image_url":"https://esphome.io/images/sgp30.jpg","dependencies":["i2c"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"Manually specify the I²C address of the sensor. Defaults to `0x58`.","default_value":"88","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables"},{"key":"eco2","type":"nested","label":"Eco2","description":"The information for the CO₂eq. sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:molecule-co2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"carbon_dioxide","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"eco2_baseline","type":"nested","label":"Eco2 Baseline","description":"The information for the CO₂eq. baseline value sensor. Baseline value is published in decimals.","display_format":null,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:molecule-co2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","default_value":"diagnostic","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"tvoc","type":"nested","label":"TVOC","description":"The information for the total Volatile Organic Compounds sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:radiator","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"volatile_organic_compounds_parts","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppb","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"tvoc_baseline","type":"nested","label":"TVOC Baseline","description":"The information for the TVOC baseline value sensor. Baseline value is published in decimals.","display_format":null,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:radiator","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","default_value":"diagnostic","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"baseline","type":"nested","label":"Baseline","description":"The block containing baselines for calibration purposes. See [Calibrating Baseline](https://esphome.io/components/sensor/sgp30#sgp30-calibrating) for more info.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables","config_entries":[{"key":"eco2_baseline","type":"integer","label":"Eco2 Baseline","description":"The eCO2 baseline for calibration purposes. After OTA, this value is used to calibrate the sensor.","required":true,"range":[0,65535],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables"},{"key":"tvoc_baseline","type":"integer","label":"TVOC Baseline","description":"The TVOC baseline for calibration purposes. After OTA, this value is used to calibrate the sensor.","required":true,"range":[0,65535],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables"}]},{"key":"compensation","type":"nested","label":"Compensation","description":"The block containing sensors used for compensation. Both values must be supplied in order to be able to generate the absolute humidity to be reported to the sensor.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables","config_entries":[{"key":"humidity_source","type":"id","label":"Humidity Source","description":"Give an external relative humidity sensor ID here. This can improve the sensor's internal calculations.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","advanced":true,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables"},{"key":"temperature_source","type":"id","label":"Temperature Source","description":"Give an external temperature sensor ID here. The data must be in Celsius. This can improve the sensor's internal calculations.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","advanced":true,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables"}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"store_baseline","type":"boolean","label":"Store Baseline","description":"Store the sensor baselines persistently when calculated or updated. Defaults to `true`.","default_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables"}],"provides_id_paths":{"sensor":[["eco2","id"],["eco2_baseline","id"],["tvoc","id"],["tvoc_baseline","id"]]}} +{"id":"sensor.sgp30","name":"SGP30 CO₂ and Volatile Organic Compound Sensor","description":"The `sgp30` sensor platform allows you to use your Sensirion SGP30 multi-pixel gas ([datasheet](https://sensirion.com/media/documents/984E0DD5/61644B8B/Sensirion_Gas_Sensors_Datasheet_SGP30.pdf)) sensors or the SVM30 breakout-boards ([product page](https://sensirion.com/products/catalog/SVM30/)) with ESPHome. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work.","category":"sensor","docs_url":"https://esphome.io/components/sensor/sgp30","image_url":"https://esphome.io/images/sgp30.jpg","dependencies":["i2c"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"Manually specify the I²C address of the sensor. Defaults to `0x58`.","default_value":"88","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables"},{"key":"eco2","type":"nested","label":"Eco2","description":"The information for the CO₂eq. sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:molecule-co2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"carbon_dioxide","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"eco2_baseline","type":"nested","label":"Eco2 Baseline","description":"The information for the CO₂eq. baseline value sensor. Baseline value is published in decimals.","display_format":null,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:molecule-co2","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","default_value":"diagnostic","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"tvoc","type":"nested","label":"TVOC","description":"The information for the total Volatile Organic Compounds sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:radiator","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"volatile_organic_compounds_parts","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"ppb","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"tvoc_baseline","type":"nested","label":"TVOC Baseline","description":"The information for the TVOC baseline value sensor. Baseline value is published in decimals.","display_format":null,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"mdi:radiator","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","default_value":"diagnostic","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"baseline","type":"nested","label":"Baseline","description":"The block containing baselines for calibration purposes. See [Calibrating Baseline](https://esphome.io/components/sensor/sgp30#sgp30-calibrating) for more info.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables","config_entries":[{"key":"eco2_baseline","type":"integer","label":"Eco2 Baseline","description":"The eCO2 baseline for calibration purposes. After OTA, this value is used to calibrate the sensor.","required":true,"range":[0,65535],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables"},{"key":"tvoc_baseline","type":"integer","label":"TVOC Baseline","description":"The TVOC baseline for calibration purposes. After OTA, this value is used to calibrate the sensor.","required":true,"range":[0,65535],"display_format":"hex","advanced":true,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables"}]},{"key":"compensation","type":"nested","label":"Compensation","description":"The block containing sensors used for compensation. Both values must be supplied in order to be able to generate the absolute humidity to be reported to the sensor.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables","config_entries":[{"key":"humidity_source","type":"id","label":"Humidity Source","description":"Give an external relative humidity sensor ID here. This can improve the sensor's internal calculations.","required":true,"display_format":null,"references_component":"sensor","advanced":true,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables"},{"key":"temperature_source","type":"id","label":"Temperature Source","description":"Give an external temperature sensor ID here. The data must be in Celsius. This can improve the sensor's internal calculations.","required":true,"display_format":null,"references_component":"sensor","advanced":true,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables"}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"store_baseline","type":"boolean","label":"Store Baseline","description":"Store the sensor baselines persistently when calculated or updated. Defaults to `true`.","default_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp30#configuration-variables"}],"provides_id_paths":{"sensor":[["eco2","id"],["eco2_baseline","id"],["tvoc","id"],["tvoc_baseline","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.sgp4x.json b/esphome_device_builder/definitions/components/sensor.sgp4x.json index 083148f11..2280c697c 100644 --- a/esphome_device_builder/definitions/components/sensor.sgp4x.json +++ b/esphome_device_builder/definitions/components/sensor.sgp4x.json @@ -1 +1 @@ -{"id":"sensor.sgp4x","name":"SGP40 Volatile Organic Compound Sensor and SGP41 VOC and NOx Sensor","description":"The `sgp4x` sensor platform allows you to use your Sensirion SGP40 ([datasheet](https://sensirion.com/media/documents/296373BB/6203C5DF/Sensirion_Gas_Sensors_Datasheet_SGP40.pdf)) or SGP41 ([datasheet](https://sensirion.com/media/documents/5FE8673C/61E96F50/Sensirion_Gas_Sensors_Datasheet_SGP41.pdf)) with ESPHome. The type of sensor used is automatically detected. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work.","category":"sensor","docs_url":"https://esphome.io/components/sensor/sgp4x","image_url":"https://esphome.io/images/sgp40.jpg","dependencies":["i2c"],"multi_conf":true,"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"89","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to 60s.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"compensation","type":"nested","label":"Compensation","description":"The block containing sensors used for compensation. If not set defaults will be used.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables","config_entries":[{"key":"humidity_source","type":"id","label":"Humidity Source","description":"Give an external humidity sensor ID here. This can improve the sensor's internal calculations.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"temperature_source","type":"id","label":"Temperature Source","description":"Give an external temperature sensor ID here. This can improve the sensor's internal calculations.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"}]},{"key":"nox_index","type":"nested","label":"NOX Index","description":"NOx Index. Only available with SGP41. If a SGP40 sensor is detected this sensor will be ignored.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables","config_entries":[{"key":"icon","type":"icon","label":"Icon","default_value":"mdi:radiator","display_format":null,"advanced":true},{"key":"accuracy_decimals","type":"string","label":"Accuracy Decimals","default_value":"0","display_format":null,"advanced":true},{"key":"algorithm_tuning","type":"nested","label":"Algorithm Tuning","description":"The NOx algorithm can be customized by tuning 5 different parameters.For more details see [Engineering Guidelines for SEN5x](https://sensirion.com/media/documents/25AB572C/62B463AA/Sensirion_Engineering_Guidelines_SEN5x.pdf)","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables","config_entries":[{"key":"gain_factor","type":"integer","label":"Gain Factor","description":"Gain factor to amplify or to attenuate the VOC index output. Allowed values are in range 1..1000. The default value is 230.","default_value":"230","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"gating_max_duration_minutes","type":"integer","label":"Gating Max Duration Minutes","description":"Maximum duration of gating in minutes (freeze of estimator during high NOx index signal). Zero disables the gating. Allowed values are in range 0..3000. The default value is 180 minutes","default_value":"720","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"index_offset","type":"integer","label":"Index Offset","description":"NOx index representing typical (average) conditions. Allowed values are in range 1..250. The default value is 100.","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"learning_time_gain_hours","type":"integer","label":"Learning Time Gain Hours","description":"Time constant to estimate the NOx algorithm gain from the history in hours. Past events will be forgotten after about twice the learning time. Allowed values are in range 1..1000. The default value is 12 hours.","default_value":"12","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"learning_time_offset_hours","type":"integer","label":"Learning Time Offset Hours","description":"Time constant to estimate the NOx algorithm offset from the history in hours. Past events will be forgotten after about twice the learning time. Allowed values are in range 1..1000. The default value is 12 hour","default_value":"12","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"std_initial","type":"integer","label":"Std Initial","description":"The initial estimate for standard deviation parameter has no impact for NOx. This parameter is still in place for consistency reasons with the VOC tuning parameters command. This parameter must always be set to 50.","default_value":"50","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"}]},{"key":"state_class","type":"string","label":"State Class","default_value":"measurement","display_format":null,"advanced":true}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"store_baseline","type":"boolean","label":"Store Baseline","description":"Stores and retrieves the baseline information for quicker startups. Defaults to true.","default_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"voc_index","type":"nested","label":"VOC Index","description":"VOC Index.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables","config_entries":[{"key":"icon","type":"icon","label":"Icon","default_value":"mdi:radiator","display_format":null,"advanced":true},{"key":"accuracy_decimals","type":"string","label":"Accuracy Decimals","default_value":"0","display_format":null,"advanced":true},{"key":"algorithm_tuning","type":"nested","label":"Algorithm Tuning","description":"The VOC algorithm can be customized by tuning 6 different parameters. For more details see [Engineering Guidelines for SEN5x](https://sensirion.com/media/documents/25AB572C/62B463AA/Sensirion_Engineering_Guidelines_SEN5x.pdf)","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables","config_entries":[{"key":"gain_factor","type":"integer","label":"Gain Factor","description":"Gain factor to amplify or to attenuate the VOC index output. Allowed values are in range 1..1000. The default value is 230.","default_value":"230","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"gating_max_duration_minutes","type":"integer","label":"Gating Max Duration Minutes","description":"Maximum duration of gating in minutes (freeze of estimator during high VOC index signal). Zero disables the gating. Allowed values are in range 0..3000. The default value is 180 minutes","default_value":"720","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"index_offset","type":"integer","label":"Index Offset","description":"VOC index representing typical (average) conditions. Allowed values are in range 1..250. The default value is 100.","default_value":"100","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"learning_time_gain_hours","type":"integer","label":"Learning Time Gain Hours","description":"Time constant to estimate the VOC algorithm gain from the history in hours. Past events will be forgotten after about twice the learning time. Allowed values are in range 1..1000. The default value is 12 hours.","default_value":"12","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"learning_time_offset_hours","type":"integer","label":"Learning Time Offset Hours","description":"Time constant to estimate the VOC algorithm offset from the history in hours. Past events will be forgotten after about twice the learning time. Allowed values are in range 1..1000. The default value is 12 hour","default_value":"12","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"std_initial","type":"integer","label":"Std Initial","description":"Initial estimate for standard deviation. Lower value boosts events during initial learning period, but may result in larger device-todevice variations. Allowed values are in range 10..5000. The default value is 50.","default_value":"50","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"}]},{"key":"state_class","type":"string","label":"State Class","default_value":"measurement","display_format":null,"advanced":true}]}]} +{"id":"sensor.sgp4x","name":"SGP40 Volatile Organic Compound Sensor and SGP41 VOC and NOx Sensor","description":"The `sgp4x` sensor platform allows you to use your Sensirion SGP40 ([datasheet](https://sensirion.com/media/documents/296373BB/6203C5DF/Sensirion_Gas_Sensors_Datasheet_SGP40.pdf)) or SGP41 ([datasheet](https://sensirion.com/media/documents/5FE8673C/61E96F50/Sensirion_Gas_Sensors_Datasheet_SGP41.pdf)) with ESPHome. The type of sensor used is automatically detected. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work.","category":"sensor","docs_url":"https://esphome.io/components/sensor/sgp4x","image_url":"https://esphome.io/images/sgp40.jpg","dependencies":["i2c"],"multi_conf":true,"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"89","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to 60s.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"compensation","type":"nested","label":"Compensation","description":"The block containing sensors used for compensation. If not set defaults will be used.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables","config_entries":[{"key":"humidity_source","type":"id","label":"Humidity Source","description":"Give an external humidity sensor ID here. This can improve the sensor's internal calculations.","required":true,"display_format":null,"references_component":"sensor","advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"temperature_source","type":"id","label":"Temperature Source","description":"Give an external temperature sensor ID here. This can improve the sensor's internal calculations.","required":true,"display_format":null,"references_component":"sensor","advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"}]},{"key":"nox_index","type":"nested","label":"NOX Index","description":"NOx Index. Only available with SGP41. If a SGP40 sensor is detected this sensor will be ignored.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables","config_entries":[{"key":"icon","type":"icon","label":"Icon","default_value":"mdi:radiator","display_format":null,"advanced":true},{"key":"accuracy_decimals","type":"string","label":"Accuracy Decimals","default_value":"0","display_format":null,"advanced":true},{"key":"algorithm_tuning","type":"nested","label":"Algorithm Tuning","description":"The NOx algorithm can be customized by tuning 5 different parameters.For more details see [Engineering Guidelines for SEN5x](https://sensirion.com/media/documents/25AB572C/62B463AA/Sensirion_Engineering_Guidelines_SEN5x.pdf)","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables","config_entries":[{"key":"gain_factor","type":"integer","label":"Gain Factor","description":"Gain factor to amplify or to attenuate the VOC index output. Allowed values are in range 1..1000. The default value is 230.","default_value":"230","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"gating_max_duration_minutes","type":"integer","label":"Gating Max Duration Minutes","description":"Maximum duration of gating in minutes (freeze of estimator during high NOx index signal). Zero disables the gating. Allowed values are in range 0..3000. The default value is 180 minutes","default_value":"720","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"index_offset","type":"integer","label":"Index Offset","description":"NOx index representing typical (average) conditions. Allowed values are in range 1..250. The default value is 100.","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"learning_time_gain_hours","type":"integer","label":"Learning Time Gain Hours","description":"Time constant to estimate the NOx algorithm gain from the history in hours. Past events will be forgotten after about twice the learning time. Allowed values are in range 1..1000. The default value is 12 hours.","default_value":"12","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"learning_time_offset_hours","type":"integer","label":"Learning Time Offset Hours","description":"Time constant to estimate the NOx algorithm offset from the history in hours. Past events will be forgotten after about twice the learning time. Allowed values are in range 1..1000. The default value is 12 hour","default_value":"12","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"std_initial","type":"integer","label":"Std Initial","description":"The initial estimate for standard deviation parameter has no impact for NOx. This parameter is still in place for consistency reasons with the VOC tuning parameters command. This parameter must always be set to 50.","default_value":"50","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"}]},{"key":"state_class","type":"string","label":"State Class","default_value":"measurement","display_format":null,"advanced":true}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"store_baseline","type":"boolean","label":"Store Baseline","description":"Stores and retrieves the baseline information for quicker startups. Defaults to true.","default_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"voc_index","type":"nested","label":"VOC Index","description":"VOC Index.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables","config_entries":[{"key":"icon","type":"icon","label":"Icon","default_value":"mdi:radiator","display_format":null,"advanced":true},{"key":"accuracy_decimals","type":"string","label":"Accuracy Decimals","default_value":"0","display_format":null,"advanced":true},{"key":"algorithm_tuning","type":"nested","label":"Algorithm Tuning","description":"The VOC algorithm can be customized by tuning 6 different parameters. For more details see [Engineering Guidelines for SEN5x](https://sensirion.com/media/documents/25AB572C/62B463AA/Sensirion_Engineering_Guidelines_SEN5x.pdf)","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables","config_entries":[{"key":"gain_factor","type":"integer","label":"Gain Factor","description":"Gain factor to amplify or to attenuate the VOC index output. Allowed values are in range 1..1000. The default value is 230.","default_value":"230","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"gating_max_duration_minutes","type":"integer","label":"Gating Max Duration Minutes","description":"Maximum duration of gating in minutes (freeze of estimator during high VOC index signal). Zero disables the gating. Allowed values are in range 0..3000. The default value is 180 minutes","default_value":"720","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"index_offset","type":"integer","label":"Index Offset","description":"VOC index representing typical (average) conditions. Allowed values are in range 1..250. The default value is 100.","default_value":"100","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"learning_time_gain_hours","type":"integer","label":"Learning Time Gain Hours","description":"Time constant to estimate the VOC algorithm gain from the history in hours. Past events will be forgotten after about twice the learning time. Allowed values are in range 1..1000. The default value is 12 hours.","default_value":"12","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"learning_time_offset_hours","type":"integer","label":"Learning Time Offset Hours","description":"Time constant to estimate the VOC algorithm offset from the history in hours. Past events will be forgotten after about twice the learning time. Allowed values are in range 1..1000. The default value is 12 hour","default_value":"12","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"},{"key":"std_initial","type":"integer","label":"Std Initial","description":"Initial estimate for standard deviation. Lower value boosts events during initial learning period, but may result in larger device-todevice variations. Allowed values are in range 10..5000. The default value is 50.","default_value":"50","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/sgp4x#configuration-variables"}]},{"key":"state_class","type":"string","label":"State Class","default_value":"measurement","display_format":null,"advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/sensor.spa06_i2c.json b/esphome_device_builder/definitions/components/sensor.spa06_i2c.json index 5e8d6ffbf..444e3b1f8 100644 --- a/esphome_device_builder/definitions/components/sensor.spa06_i2c.json +++ b/esphome_device_builder/definitions/components/sensor.spa06_i2c.json @@ -1 +1 @@ -{"id":"sensor.spa06_i2c","name":"SPA06-003 Temperature+Pressure Sensor","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/spa06","dependencies":["i2c"],"multi_conf":true,"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"119","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"pressure","type":"nested","label":"Pressure","description":"The information for the pressure sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"atmospheric_pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Pa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling rate for the pressure sensor. See [Oversampling Options](https://esphome.io/components/sensor/spa06#spa06-oversampling).","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"sample_rate","type":"string","label":"Sample Rate","description":"The internal sample rate for the pressure sensor. See [Sample Rate](https://esphome.io/components/sensor/spa06#spa06-sample-rate).","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"4","value":"4"},{"label":"8","value":"8"},{"label":"16","value":"16"},{"label":"32","value":"32"},{"label":"64","value":"64"},{"label":"128","value":"128"},{"label":"25p16","value":"25p16"},{"label":"25p8","value":"25p8"},{"label":"25p4","value":"25p4"},{"label":"25p2","value":"25p2"},{"label":"25","value":"25"},{"label":"50","value":"50"},{"label":"100","value":"100"},{"label":"200","value":"200"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"The information for the temperature sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling rate for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/spa06#spa06-oversampling).","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"sample_rate","type":"string","label":"Sample Rate","description":"The internal sample rate for the temperature sensor. See [Sample Rate](https://esphome.io/components/sensor/spa06#spa06-sample-rate).","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"4","value":"4"},{"label":"8","value":"8"},{"label":"16","value":"16"},{"label":"32","value":"32"},{"label":"64","value":"64"},{"label":"128","value":"128"},{"label":"25p16","value":"25p16"},{"label":"25p8","value":"25p8"},{"label":"25p4","value":"25p4"},{"label":"25p2","value":"25p2"},{"label":"25","value":"25"},{"label":"50","value":"50"},{"label":"100","value":"100"},{"label":"200","value":"200"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"id_classes":["i2c::I2CDevice","spa06_i2c::SPA06I2CComponent"]} +{"id":"sensor.spa06_i2c","name":"SPA06-003 Temperature+Pressure Sensor","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/spa06","dependencies":["i2c"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"119","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"pressure","type":"nested","label":"Pressure","description":"The information for the pressure sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"atmospheric_pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Pa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling rate for the pressure sensor. See [Oversampling Options](https://esphome.io/components/sensor/spa06#spa06-oversampling).","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"sample_rate","type":"string","label":"Sample Rate","description":"The internal sample rate for the pressure sensor. See [Sample Rate](https://esphome.io/components/sensor/spa06#spa06-sample-rate).","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"4","value":"4"},{"label":"8","value":"8"},{"label":"16","value":"16"},{"label":"32","value":"32"},{"label":"64","value":"64"},{"label":"128","value":"128"},{"label":"25p16","value":"25p16"},{"label":"25p8","value":"25p8"},{"label":"25p4","value":"25p4"},{"label":"25p2","value":"25p2"},{"label":"25","value":"25"},{"label":"50","value":"50"},{"label":"100","value":"100"},{"label":"200","value":"200"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"The information for the temperature sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling rate for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/spa06#spa06-oversampling).","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"sample_rate","type":"string","label":"Sample Rate","description":"The internal sample rate for the temperature sensor. See [Sample Rate](https://esphome.io/components/sensor/spa06#spa06-sample-rate).","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"4","value":"4"},{"label":"8","value":"8"},{"label":"16","value":"16"},{"label":"32","value":"32"},{"label":"64","value":"64"},{"label":"128","value":"128"},{"label":"25p16","value":"25p16"},{"label":"25p8","value":"25p8"},{"label":"25p4","value":"25p4"},{"label":"25p2","value":"25p2"},{"label":"25","value":"25"},{"label":"50","value":"50"},{"label":"100","value":"100"},{"label":"200","value":"200"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["pressure","id"],["temperature","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.spa06_spi.json b/esphome_device_builder/definitions/components/sensor.spa06_spi.json index 780b814a4..269d087f4 100644 --- a/esphome_device_builder/definitions/components/sensor.spa06_spi.json +++ b/esphome_device_builder/definitions/components/sensor.spa06_spi.json @@ -1 +1 @@ -{"id":"sensor.spa06_spi","name":"SPA06-003 Temperature+Pressure Sensor","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/spa06","dependencies":["spi"],"multi_conf":true,"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"cs_pin","type":"pin","label":"CS Pin","description":"Specify the chip select pin to use for this sensor.","required":true,"display_format":null,"pin_mode":"output","help_link":"https://esphome.io/components/sensor/spa06#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"pressure","type":"nested","label":"Pressure","description":"The information for the pressure sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"atmospheric_pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Pa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling rate for the pressure sensor. See [Oversampling Options](https://esphome.io/components/sensor/spa06#spa06-oversampling).","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"sample_rate","type":"string","label":"Sample Rate","description":"The internal sample rate for the pressure sensor. See [Sample Rate](https://esphome.io/components/sensor/spa06#spa06-sample-rate).","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"4","value":"4"},{"label":"8","value":"8"},{"label":"16","value":"16"},{"label":"32","value":"32"},{"label":"64","value":"64"},{"label":"128","value":"128"},{"label":"25p16","value":"25p16"},{"label":"25p8","value":"25p8"},{"label":"25p4","value":"25p4"},{"label":"25p2","value":"25p2"},{"label":"25","value":"25"},{"label":"50","value":"50"},{"label":"100","value":"100"},{"label":"200","value":"200"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"The information for the temperature sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling rate for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/spa06#spa06-oversampling).","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"sample_rate","type":"string","label":"Sample Rate","description":"The internal sample rate for the temperature sensor. See [Sample Rate](https://esphome.io/components/sensor/spa06#spa06-sample-rate).","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"4","value":"4"},{"label":"8","value":"8"},{"label":"16","value":"16"},{"label":"32","value":"32"},{"label":"64","value":"64"},{"label":"128","value":"128"},{"label":"25p16","value":"25p16"},{"label":"25p8","value":"25p8"},{"label":"25p4","value":"25p4"},{"label":"25p2","value":"25p2"},{"label":"25","value":"25"},{"label":"50","value":"50"},{"label":"100","value":"100"},{"label":"200","value":"200"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","default_value":"mode3","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true}],"id_classes":["spa06_spi::SPA06SPIComponent","spi::SPIDevice"]} +{"id":"sensor.spa06_spi","name":"SPA06-003 Temperature+Pressure Sensor","description":"","category":"sensor","docs_url":"https://esphome.io/components/sensor/spa06","dependencies":["spi"],"multi_conf":true,"provides":["sensor"],"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"cs_pin","type":"pin","label":"CS Pin","description":"Specify the chip select pin to use for this sensor.","required":true,"display_format":null,"pin_mode":"output","help_link":"https://esphome.io/components/sensor/spa06#configuration-variables","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"pressure","type":"nested","label":"Pressure","description":"The information for the pressure sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"atmospheric_pressure","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"Pa","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling rate for the pressure sensor. See [Oversampling Options](https://esphome.io/components/sensor/spa06#spa06-oversampling).","default_value":"16X","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"sample_rate","type":"string","label":"Sample Rate","description":"The internal sample rate for the pressure sensor. See [Sample Rate](https://esphome.io/components/sensor/spa06#spa06-sample-rate).","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"4","value":"4"},{"label":"8","value":"8"},{"label":"16","value":"16"},{"label":"32","value":"32"},{"label":"64","value":"64"},{"label":"128","value":"128"},{"label":"25p16","value":"25p16"},{"label":"25p8","value":"25p8"},{"label":"25p4","value":"25p4"},{"label":"25p2","value":"25p2"},{"label":"25","value":"25"},{"label":"50","value":"50"},{"label":"100","value":"100"},{"label":"200","value":"200"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"The information for the temperature sensor.","display_format":null,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"oversampling","type":"string","label":"Oversampling","description":"The oversampling rate for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/spa06#spa06-oversampling).","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"2X","value":"2X"},{"label":"4X","value":"4X"},{"label":"8X","value":"8X"},{"label":"16X","value":"16X"},{"label":"32X","value":"32X"},{"label":"64X","value":"64X"},{"label":"128X","value":"128X"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"sample_rate","type":"string","label":"Sample Rate","description":"The internal sample rate for the temperature sensor. See [Sample Rate](https://esphome.io/components/sensor/spa06#spa06-sample-rate).","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"4","value":"4"},{"label":"8","value":"8"},{"label":"16","value":"16"},{"label":"32","value":"32"},{"label":"64","value":"64"},{"label":"128","value":"128"},{"label":"25p16","value":"25p16"},{"label":"25p8","value":"25p8"},{"label":"25p4","value":"25p4"},{"label":"25p2","value":"25p2"},{"label":"25","value":"25"},{"label":"50","value":"50"},{"label":"100","value":"100"},{"label":"200","value":"200"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/spa06#configuration-variables"},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","default_value":"mode3","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true}],"provides_id_paths":{"sensor":[["pressure","id"],["temperature","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.total_daily_energy.json b/esphome_device_builder/definitions/components/sensor.total_daily_energy.json index 7a9f743cb..09d02baac 100644 --- a/esphome_device_builder/definitions/components/sensor.total_daily_energy.json +++ b/esphome_device_builder/definitions/components/sensor.total_daily_energy.json @@ -1 +1 @@ -{"id":"sensor.total_daily_energy","name":"Total Daily Energy Sensor","description":"The `total_daily_energy` sensor is a helper sensor that can use the power value of other sensors like the [HLW8012](https://esphome.io/components/sensor/hlw8012/), [HLW8032](https://esphome.io/components/sensor/hlw8032/), [CSE7766](https://esphome.io/components/sensor/cse7766/), [ATM90E32](https://esphome.io/components/sensor/atm90e32/), etc and integrate it over time.","category":"sensor","docs_url":"https://esphome.io/components/sensor/total_daily_energy","image_url":"https://esphome.io/images/sigma.svg","dependencies":["time"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"power_id","type":"id","label":"Power ID","description":"The ID of the power sensor to integrate over time.","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/total_daily_energy#configuration-variables"},{"key":"time_id","type":"id","label":"Time ID","display_format":null,"references_component":"time"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"method","type":"string","label":"Method","description":"The method to use for calculating the total daily energy. One of `trapezoid`, `left` or `right`. Defaults to `right`.","default_value":"right","options":[{"label":"trapezoid","value":"trapezoid"},{"label":"left","value":"left"},{"label":"right","value":"right"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/total_daily_energy#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"restore","type":"boolean","label":"Restore","description":"Whether to store the intermediate result on the device so that the value can be restored upon power cycle or reboot. Defaults to `true`.","default_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/total_daily_energy#configuration-variables"},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} +{"id":"sensor.total_daily_energy","name":"Total Daily Energy Sensor","description":"The `total_daily_energy` sensor is a helper sensor that can use the power value of other sensors like the [HLW8012](https://esphome.io/components/sensor/hlw8012/), [HLW8032](https://esphome.io/components/sensor/hlw8032/), [CSE7766](https://esphome.io/components/sensor/cse7766/), [ATM90E32](https://esphome.io/components/sensor/atm90e32/), etc and integrate it over time.","category":"sensor","docs_url":"https://esphome.io/components/sensor/total_daily_energy","image_url":"https://esphome.io/images/sigma.svg","dependencies":["time"],"multi_conf":true,"config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"power_id","type":"id","label":"Power ID","description":"The ID of the power sensor to integrate over time.","required":true,"display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/total_daily_energy#configuration-variables"},{"key":"time_id","type":"id","label":"Time ID","display_format":null,"references_component":"time"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"energy","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"method","type":"string","label":"Method","description":"The method to use for calculating the total daily energy. One of `trapezoid`, `left` or `right`. Defaults to `right`.","default_value":"right","options":[{"label":"trapezoid","value":"trapezoid"},{"label":"left","value":"left"},{"label":"right","value":"right"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/total_daily_energy#configuration-variables"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"restore","type":"boolean","label":"Restore","description":"Whether to store the intermediate result on the device so that the value can be restored upon power cycle or reboot. Defaults to `true`.","default_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/total_daily_energy#configuration-variables"},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"total_increasing","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]} diff --git a/esphome_device_builder/definitions/components/sensor.ufire_ec.json b/esphome_device_builder/definitions/components/sensor.ufire_ec.json index f8f978099..0cfe9ae6e 100644 --- a/esphome_device_builder/definitions/components/sensor.ufire_ec.json +++ b/esphome_device_builder/definitions/components/sensor.ufire_ec.json @@ -1 +1 @@ -{"id":"sensor.ufire_ec","name":"uFire Isolated EC sensor","description":"The `ufire_ec` sensor platform allows you to use your uFire Isolated EC sensor with ESPHome. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work. It requires also to have a temperature sensor in the liquid tank; this can be on the same board or an external sensor linked to the uFire EC configuration.","category":"sensor","docs_url":"https://esphome.io/components/sensor/ufire_ec","image_url":"https://esphome.io/images/ufire_ec.png","dependencies":["i2c"],"multi_conf":true,"provides":["sensor","ufire_ec"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"Specify the I²C address of the sensor. Defaults to `0x3C`.","default_value":"60","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/ufire_ec#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ufire_ec#configuration-variables"},{"key":"ec","type":"nested","label":"Ec","description":"Set the EC sensor configuration. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ufire_ec#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mS/cm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"Set the onboard temperature sensor configuration. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ufire_ec#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature_sensor","type":"id","label":"Temperature Sensor","description":"Set the ID of the temperature sensor. Only needed if the onboard temperature sensor is not used.","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/ufire_ec#configuration-variables"},{"key":"id","type":"id","label":"ID","description":"Set the ID of this sensor for use in lambdas.","advanced":true,"help_link":"https://esphome.io/components/sensor/ufire_ec#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"temperature_coefficient","type":"float","label":"Temperature Coefficient","description":"Set the temperature coefficient for the EC sensor. Defaults to `0.019`.","default_value":"0.019","range":[0.01,0.04],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ufire_ec#configuration-variables"},{"key":"temperature_compensation","type":"float_with_unit","label":"Temperature Compensation","description":"Set the temperature compensation for the EC sensor. Defaults to `21.0`.","default_value":"21.0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ufire_ec#configuration-variables","unit_options":["°C","°F","K"]}],"provides_id_paths":{"sensor":[["ec","id"],["temperature","id"]]}} +{"id":"sensor.ufire_ec","name":"uFire Isolated EC sensor","description":"The `ufire_ec` sensor platform allows you to use your uFire Isolated EC sensor with ESPHome. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work. It requires also to have a temperature sensor in the liquid tank; this can be on the same board or an external sensor linked to the uFire EC configuration.","category":"sensor","docs_url":"https://esphome.io/components/sensor/ufire_ec","image_url":"https://esphome.io/images/ufire_ec.png","dependencies":["i2c"],"multi_conf":true,"provides":["sensor","ufire_ec"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"Specify the I²C address of the sensor. Defaults to `0x3C`.","default_value":"60","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/ufire_ec#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ufire_ec#configuration-variables"},{"key":"ec","type":"nested","label":"Ec","description":"Set the EC sensor configuration. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ufire_ec#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"mS/cm","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"Set the onboard temperature sensor configuration. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ufire_ec#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature_sensor","type":"id","label":"Temperature Sensor","description":"Set the ID of the temperature sensor. Only needed if the onboard temperature sensor is not used.","display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/ufire_ec#configuration-variables"},{"key":"id","type":"id","label":"ID","description":"Set the ID of this sensor for use in lambdas.","advanced":true,"help_link":"https://esphome.io/components/sensor/ufire_ec#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"temperature_coefficient","type":"float","label":"Temperature Coefficient","description":"Set the temperature coefficient for the EC sensor. Defaults to `0.019`.","default_value":"0.019","range":[0.01,0.04],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ufire_ec#configuration-variables"},{"key":"temperature_compensation","type":"float_with_unit","label":"Temperature Compensation","description":"Set the temperature compensation for the EC sensor. Defaults to `21.0`.","default_value":"21.0","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor/ufire_ec#configuration-variables","unit_options":["°C","°F","K"]}],"provides_id_paths":{"sensor":[["ec","id"],["temperature","id"]]}} diff --git a/esphome_device_builder/definitions/components/sensor.ufire_ise.json b/esphome_device_builder/definitions/components/sensor.ufire_ise.json index 81b95af7a..159cd57e8 100644 --- a/esphome_device_builder/definitions/components/sensor.ufire_ise.json +++ b/esphome_device_builder/definitions/components/sensor.ufire_ise.json @@ -1 +1 @@ -{"id":"sensor.ufire_ise","name":"uFire ISE pH sensor","description":"The `ufire_ise` sensor platform allows you to use your uFire ISE pH sensor with ESPHome. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work. It required also to have an temperature sensor in the liquid tank; this can be on the same board or external sensor linked to the uFire ISE pH configuration.","category":"sensor","docs_url":"https://esphome.io/components/sensor/ufire_ise","image_url":"https://esphome.io/images/ufire_ise.png","dependencies":["i2c"],"multi_conf":true,"provides":["sensor","ufire_ise"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"Specify the I²C address of the sensor. Defaults to `0x3f`.","default_value":"63","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/ufire_ise#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ufire_ise#configuration-variables"},{"key":"ph","type":"nested","label":"Ph","description":"Set the pH sensor configuration. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ufire_ise#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"pH","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"Set the onboard temperature sensor configuration. All options from [Sensor](https://esphome.io/components/sensor). Can't be used together with `temperature_sensor`.","display_format":null,"help_link":"https://esphome.io/components/sensor/ufire_ise#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature_sensor","type":"id","label":"Temperature Sensor","description":"Set the ID of the temperature sensor. Only needed if the onboard temperature sensor is not used.","display_format":null,"references_component":"sensor","references_class":"sensor::Sensor","help_link":"https://esphome.io/components/sensor/ufire_ise#configuration-variables"},{"key":"id","type":"id","label":"ID","description":"Set the ID of this sensor for use in lambdas.","advanced":true,"help_link":"https://esphome.io/components/sensor/ufire_ise#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["ph","id"],["temperature","id"]]}} +{"id":"sensor.ufire_ise","name":"uFire ISE pH sensor","description":"The `ufire_ise` sensor platform allows you to use your uFire ISE pH sensor with ESPHome. The [I²C Bus](https://esphome.io/components/i2c) is required to be set up in your configuration for this sensor to work. It required also to have an temperature sensor in the liquid tank; this can be on the same board or external sensor linked to the uFire ISE pH configuration.","category":"sensor","docs_url":"https://esphome.io/components/sensor/ufire_ise","image_url":"https://esphome.io/images/ufire_ise.png","dependencies":["i2c"],"multi_conf":true,"provides":["sensor","ufire_ise"],"config_entries":[{"key":"address","type":"integer","label":"Address","description":"Specify the I²C address of the sensor. Defaults to `0x3f`.","default_value":"63","range":[0,255],"display_format":"hex","help_link":"https://esphome.io/components/sensor/ufire_ise#configuration-variables"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"update_interval","type":"time_period","label":"Update Interval","description":"The interval to check the sensor. Defaults to `60s`.","default_value":"60s","display_format":null,"help_link":"https://esphome.io/components/sensor/ufire_ise#configuration-variables"},{"key":"ph","type":"nested","label":"Ph","description":"Set the pH sensor configuration. All options from [Sensor](https://esphome.io/components/sensor).","display_format":null,"help_link":"https://esphome.io/components/sensor/ufire_ise#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","default_value":"","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"pH","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature","type":"nested","label":"Temperature","description":"Set the onboard temperature sensor configuration. All options from [Sensor](https://esphome.io/components/sensor). Can't be used together with `temperature_sensor`.","display_format":null,"help_link":"https://esphome.io/components/sensor/ufire_ise#configuration-variables","platform_type":"sensor","config_entries":[{"key":"name","type":"string","label":"Name","description":"The name for the sensor. At least one of **id** and **name** must be specified.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"icon","type":"icon","label":"Icon","description":"Manually set the icon to use for the sensor in the frontend.","display_format":null,"help_link":"https://esphome.io/components/sensor"},{"key":"zigbee_sensor","type":"id","label":"Zigbee Sensor","depends_on_component":"zigbee","supported_platforms":["nrf52"]},{"key":"device_class","type":"string","label":"Device Class","description":"The device class for the sensor. See [https://www.home-assistant.io/integrations/sensor/#device-class](https://www.home-assistant.io/integrations/sensor/#device-class) for a list of available options. Set to `\"\"` to remove the default device class of a sensor.","default_value":"temperature","options":[{"label":"absolute_humidity","value":"absolute_humidity"},{"label":"apparent_power","value":"apparent_power"},{"label":"aqi","value":"aqi"},{"label":"area","value":"area"},{"label":"atmospheric_pressure","value":"atmospheric_pressure"},{"label":"battery","value":"battery"},{"label":"blood_glucose_concentration","value":"blood_glucose_concentration"},{"label":"carbon_dioxide","value":"carbon_dioxide"},{"label":"carbon_monoxide","value":"carbon_monoxide"},{"label":"conductivity","value":"conductivity"},{"label":"current","value":"current"},{"label":"data_rate","value":"data_rate"},{"label":"data_size","value":"data_size"},{"label":"date","value":"date"},{"label":"distance","value":"distance"},{"label":"duration","value":"duration"},{"label":"(none)","value":""},{"label":"energy","value":"energy"},{"label":"energy_distance","value":"energy_distance"},{"label":"energy_storage","value":"energy_storage"},{"label":"frequency","value":"frequency"},{"label":"gas","value":"gas"},{"label":"humidity","value":"humidity"},{"label":"illuminance","value":"illuminance"},{"label":"irradiance","value":"irradiance"},{"label":"moisture","value":"moisture"},{"label":"monetary","value":"monetary"},{"label":"nitrogen_dioxide","value":"nitrogen_dioxide"},{"label":"nitrogen_monoxide","value":"nitrogen_monoxide"},{"label":"nitrous_oxide","value":"nitrous_oxide"},{"label":"ozone","value":"ozone"},{"label":"ph","value":"ph"},{"label":"pm1","value":"pm1"},{"label":"pm10","value":"pm10"},{"label":"pm25","value":"pm25"},{"label":"pm4","value":"pm4"},{"label":"power","value":"power"},{"label":"power_factor","value":"power_factor"},{"label":"precipitation","value":"precipitation"},{"label":"precipitation_intensity","value":"precipitation_intensity"},{"label":"pressure","value":"pressure"},{"label":"radon","value":"radon"},{"label":"reactive_energy","value":"reactive_energy"},{"label":"reactive_power","value":"reactive_power"},{"label":"signal_strength","value":"signal_strength"},{"label":"sound_pressure","value":"sound_pressure"},{"label":"speed","value":"speed"},{"label":"sulphur_dioxide","value":"sulphur_dioxide"},{"label":"temperature","value":"temperature"},{"label":"temperature_delta","value":"temperature_delta"},{"label":"timestamp","value":"timestamp"},{"label":"uptime","value":"uptime"},{"label":"volatile_organic_compounds","value":"volatile_organic_compounds"},{"label":"volatile_organic_compounds_parts","value":"volatile_organic_compounds_parts"},{"label":"voltage","value":"voltage"},{"label":"volume","value":"volume"},{"label":"volume_flow_rate","value":"volume_flow_rate"},{"label":"volume_storage","value":"volume_storage"},{"label":"water","value":"water"},{"label":"weight","value":"weight"},{"label":"wind_direction","value":"wind_direction"},{"label":"wind_speed","value":"wind_speed"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"unit_of_measurement","type":"string","label":"Unit Of Measurement","description":"Manually set the unit of measurement the sensor should advertise its values with. This does not actually do any maths (conversion between units).","default_value":"°C","options":[{"label":"#/cm³","value":"#/cm³"},{"label":"%","value":"%"},{"label":"/dL","value":"/dL"},{"label":"A","value":"A"},{"label":"B","value":"B"},{"label":"Bq/m³","value":"Bq/m³"},{"label":"G","value":"G"},{"label":"Hz","value":"Hz"},{"label":"K","value":"K"},{"label":"L","value":"L"},{"label":"L/h","value":"L/h"},{"label":"L/s","value":"L/s"},{"label":"MJ","value":"MJ"},{"label":"Pa","value":"Pa"},{"label":"RPM","value":"RPM"},{"label":"V","value":"V"},{"label":"VA","value":"VA"},{"label":"VAh","value":"VAh"},{"label":"W","value":"W"},{"label":"Wh","value":"Wh"},{"label":"bpm","value":"bpm"},{"label":"cm","value":"cm"},{"label":"dB","value":"dB"},{"label":"dBm","value":"dBm"},{"label":"g/m³","value":"g/m³"},{"label":"h","value":"h"},{"label":"hPa","value":"hPa"},{"label":"kPa","value":"kPa"},{"label":"kVA","value":"kVA"},{"label":"kVAh","value":"kVAh"},{"label":"kW","value":"kW"},{"label":"kWh","value":"kWh"},{"label":"kg","value":"kg"},{"label":"km","value":"km"},{"label":"km/h","value":"km/h"},{"label":"kvar","value":"kvar"},{"label":"kvarh","value":"kvarh"},{"label":"lb","value":"lb"},{"label":"lx","value":"lx"},{"label":"m","value":"m"},{"label":"m/s","value":"m/s"},{"label":"m/s²","value":"m/s²"},{"label":"mA","value":"mA"},{"label":"mL","value":"mL"},{"label":"mS/cm","value":"mS/cm"},{"label":"mV","value":"mV"},{"label":"mg/m³","value":"mg/m³"},{"label":"min","value":"min"},{"label":"mm","value":"mm"},{"label":"ms","value":"ms"},{"label":"m³","value":"m³"},{"label":"m³/h","value":"m³/h"},{"label":"pH","value":"pH"},{"label":"ppb","value":"ppb"},{"label":"ppm","value":"ppm"},{"label":"pulses","value":"pulses"},{"label":"pulses/min","value":"pulses/min"},{"label":"s","value":"s"},{"label":"steps","value":"steps"},{"label":"var","value":"var"},{"label":"varh","value":"varh"},{"label":"°","value":"°"},{"label":"°/s","value":"°/s"},{"label":"°C","value":"°C"},{"label":"µA","value":"µA"},{"label":"µS/cm","value":"µS/cm"},{"label":"µSv/h","value":"µSv/h"},{"label":"µT","value":"µT"},{"label":"µg/m³","value":"µg/m³"},{"label":"µm","value":"µm"},{"label":"Ω","value":"Ω"}],"allow_custom_value":true,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"id","type":"id","label":"ID","description":"Manually specify the ID for code generation. At least one of **id** and **name** must be specified.","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"accuracy_decimals","type":"integer","label":"Accuracy Decimals","description":"Set the number of digits after the decimal point that data consumers should use. While this does not change the value sent across the API, Home Assistant's ESPHome integration will round the value accordingly before using or storing it. The number of digits will also be used to set the entity's default display precision. Thus, one can display fewer decimals, but cannot increase precision of sensor values in Home Assistant. (The default value varies depending on component and sensor.)","default_value":"1","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"availability","type":"nested","label":"Availability","display_format":null,"depends_on_component":"mqtt","advanced":true,"config_entries":[{"key":"topic","type":"string","label":"Topic","required":true,"display_format":null,"advanced":true},{"key":"payload_available","type":"string","label":"Payload Available","default_value":"online","display_format":null,"advanced":true},{"key":"payload_not_available","type":"string","label":"Payload Not Available","default_value":"offline","display_format":null,"advanced":true}]},{"key":"device_id","type":"id","label":"Device ID","display_format":null,"advanced":true},{"key":"disabled_by_default","type":"boolean","label":"Disabled By Default","description":"If true, then this entity should not be added to any client's frontend, (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to `false`.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"discovery","type":"boolean","label":"Discovery","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"endpoint","type":"integer","label":"Endpoint","range":[1,239],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"entity_category","type":"string","label":"Entity Category","description":"The category of the entity. See [https://developers.home-assistant.io/docs/core/entity/#generic-properties](https://developers.home-assistant.io/docs/core/entity/#generic-properties) for a list of available options. Set to `\"\"` to remove the default entity category.","options":[{"label":"(none)","value":""},{"label":"diagnostic","value":"diagnostic"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"expire_after","type":"time_period","label":"Expire After","description":"Manually set the time in which the sensor values should be marked as “expired”/“unknown”. Not providing any value means no expiry.","display_format":null,"depends_on_component":"mqtt","advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"filters","type":"registry_list","label":"Filters","description":"Specify filters to use for some basic transforming of values. See [Sensor Filters](https://esphome.io/components/sensor#sensor-filters) for more information.","display_format":null,"registry":"filter","multi_value":true,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"force_update","type":"boolean","label":"Force Update","description":"If true, this option will force the frontend (usually Home Assistant) to create a state changed event when the sensor updates even if the value stayed the same. Some applications like Grafana require this when working with Home Assistant, but beware it can significantly increase the database size. Defaults to `false`.","default_value":false,"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"internal","type":"boolean","label":"Internal","description":"Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an `id` without a `name` will implicitly set this to true.","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"qos","type":"string","label":"QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"report","type":"string","label":"Report","options":[{"label":"coordinator","value":"coordinator"},{"label":"enable","value":"enable"},{"label":"force","value":"force"},{"label":"default","value":"default"}],"display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"retain","type":"boolean","label":"Retain","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"state_class","type":"string","label":"State Class","description":"The state class for the sensor. See [https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes](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.","default_value":"measurement","options":[{"label":"(none)","value":""},{"label":"measurement","value":"measurement"},{"label":"total_increasing","value":"total_increasing"},{"label":"total","value":"total"},{"label":"measurement_angle","value":"measurement_angle"}],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/sensor"},{"key":"state_topic","type":"string","label":"State Topic","display_format":null,"templatable":true,"depends_on_component":"mqtt","advanced":true},{"key":"subscribe_qos","type":"string","label":"Subscribe QOS","display_format":null,"depends_on_component":"mqtt","advanced":true},{"key":"use_device_type","type":"boolean","label":"Use Device Type","display_format":null,"depends_on_component":"zigbee","advanced":true,"supported_platforms":["esp32"]},{"key":"web_server","type":"nested","label":"Web Server","display_format":null,"depends_on_component":"web_server","advanced":true,"config_entries":[{"key":"web_server_id","type":"id","label":"Web Server ID","display_format":null,"depends_on_component":"web_server","references_component":"web_server","advanced":true},{"key":"sorting_group_id","type":"id","label":"Sorting Group ID","display_format":null,"depends_on_component":"web_server","advanced":true},{"key":"sorting_weight","type":"float","label":"Sorting Weight","display_format":null,"depends_on_component":"web_server","advanced":true}]}]},{"key":"temperature_sensor","type":"id","label":"Temperature Sensor","description":"Set the ID of the temperature sensor. Only needed if the onboard temperature sensor is not used.","display_format":null,"references_component":"sensor","help_link":"https://esphome.io/components/sensor/ufire_ise#configuration-variables"},{"key":"id","type":"id","label":"ID","description":"Set the ID of this sensor for use in lambdas.","advanced":true,"help_link":"https://esphome.io/components/sensor/ufire_ise#configuration-variables"},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}],"provides_id_paths":{"sensor":[["ph","id"],["temperature","id"]]}} diff --git a/esphome_device_builder/definitions/components/statsd.json b/esphome_device_builder/definitions/components/statsd.json index 9b64b5a5c..74fcb6278 100644 --- a/esphome_device_builder/definitions/components/statsd.json +++ b/esphome_device_builder/definitions/components/statsd.json @@ -1 +1 @@ -{"id":"statsd","name":"StatsD","description":"StatsD is a [protocol](https://github.com/statsd/statsd/blob/master/docs/metric_types.md) to send metrics to a Daemon to store and aggregate them. Today there are many monitoring solutions that support receiving metrics via the StatsD protocol.","category":"misc","docs_url":"https://esphome.io/components/statsd","image_url":"https://esphome.io/images/connection.svg","config_entries":[{"key":"update_interval","type":"time_period","label":"Update Interval","description":"How often to send the metrics. Defaults to `10s`.","default_value":"10s","display_format":null,"help_link":"https://esphome.io/components/statsd#configuration-variables"},{"key":"host","type":"string","label":"Host","description":"The Host IP of your StatsD Server.","required":true,"display_format":null,"help_link":"https://esphome.io/components/statsd#configuration-variables"},{"key":"id","type":"id","label":"ID","description":"The ID of the sensor.","advanced":true,"help_link":"https://esphome.io/components/statsd#configuration-variables"},{"key":"binary_sensors","type":"nested","label":"Binary Sensors","display_format":null,"multi_value":true,"advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"binary_sensor"},{"key":"name","type":"string","label":"Name","required":true,"display_format":null,"advanced":true}]},{"key":"port","type":"integer","label":"Port","description":"The Port of your StatsD Server. Defaults to `8125`.","default_value":"8125","range":[1,65535],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/statsd#configuration-variables"},{"key":"prefix","type":"string","label":"Prefix","description":"The prefix to automatically prepend every metric with. Defaults to `\"\"`.","default_value":"","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/statsd#configuration-variables"},{"key":"sensors","type":"nested","label":"Sensors","display_format":null,"multi_value":true,"advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"sensor","references_class":"sensor::Sensor"},{"key":"name","type":"string","label":"Name","required":true,"display_format":null,"advanced":true}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}]} +{"id":"statsd","name":"StatsD","description":"StatsD is a [protocol](https://github.com/statsd/statsd/blob/master/docs/metric_types.md) to send metrics to a Daemon to store and aggregate them. Today there are many monitoring solutions that support receiving metrics via the StatsD protocol.","category":"misc","docs_url":"https://esphome.io/components/statsd","image_url":"https://esphome.io/images/connection.svg","config_entries":[{"key":"update_interval","type":"time_period","label":"Update Interval","description":"How often to send the metrics. Defaults to `10s`.","default_value":"10s","display_format":null,"help_link":"https://esphome.io/components/statsd#configuration-variables"},{"key":"host","type":"string","label":"Host","description":"The Host IP of your StatsD Server.","required":true,"display_format":null,"help_link":"https://esphome.io/components/statsd#configuration-variables"},{"key":"id","type":"id","label":"ID","description":"The ID of the sensor.","advanced":true,"help_link":"https://esphome.io/components/statsd#configuration-variables"},{"key":"binary_sensors","type":"nested","label":"Binary Sensors","display_format":null,"multi_value":true,"advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"binary_sensor"},{"key":"name","type":"string","label":"Name","required":true,"display_format":null,"advanced":true}]},{"key":"port","type":"integer","label":"Port","description":"The Port of your StatsD Server. Defaults to `8125`.","default_value":"8125","range":[1,65535],"display_format":null,"advanced":true,"help_link":"https://esphome.io/components/statsd#configuration-variables"},{"key":"prefix","type":"string","label":"Prefix","description":"The prefix to automatically prepend every metric with. Defaults to `\"\"`.","default_value":"","display_format":null,"advanced":true,"help_link":"https://esphome.io/components/statsd#configuration-variables"},{"key":"sensors","type":"nested","label":"Sensors","display_format":null,"multi_value":true,"advanced":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true,"display_format":null,"references_component":"sensor"},{"key":"name","type":"string","label":"Name","required":true,"display_format":null,"advanced":true}]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true}]} diff --git a/esphome_device_builder/definitions/components/wk2132_i2c.json b/esphome_device_builder/definitions/components/wk2132_i2c.json index a3a451a02..5a16d2059 100644 --- a/esphome_device_builder/definitions/components/wk2132_i2c.json +++ b/esphome_device_builder/definitions/components/wk2132_i2c.json @@ -1 +1 @@ -{"id":"wk2132_i2c","name":"Wk2132 I²C","description":"","category":"misc","docs_url":"https://esphome.io/components/weikai","dependencies":["i2c"],"multi_conf":true,"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"44","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"uart","type":"nested","label":"UART","required":true,"display_format":null,"multi_value":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"baud_rate","type":"integer","label":"Baud Rate","required":true,"display_format":null},{"key":"channel","type":"integer","label":"Channel","default_value":"0","range":[0,3],"display_format":null,"advanced":true},{"key":"data_bits","type":"integer","label":"Data Bits","default_value":"8","options":[{"label":"8","value":"8"}],"display_format":null,"advanced":true},{"key":"parity","type":"string","label":"Parity","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"EVEN","value":"EVEN"},{"label":"ODD","value":"ODD"}],"display_format":null,"advanced":true},{"key":"stop_bits","type":"integer","label":"Stop Bits","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"}],"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"crystal","type":"integer","label":"Crystal","default_value":"14745600","display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"test_mode","type":"integer","label":"Test Mode","default_value":"0","display_format":null,"advanced":true}]} +{"id":"wk2132_i2c","name":"Wk2132 I²C","description":"","category":"misc","docs_url":"https://esphome.io/components/weikai","dependencies":["i2c"],"multi_conf":true,"provides":["uart"],"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"44","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"uart","type":"nested","label":"UART","required":true,"display_format":null,"multi_value":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"baud_rate","type":"integer","label":"Baud Rate","required":true,"display_format":null},{"key":"channel","type":"integer","label":"Channel","default_value":"0","range":[0,3],"display_format":null,"advanced":true},{"key":"data_bits","type":"integer","label":"Data Bits","default_value":"8","options":[{"label":"8","value":"8"}],"display_format":null,"advanced":true},{"key":"parity","type":"string","label":"Parity","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"EVEN","value":"EVEN"},{"label":"ODD","value":"ODD"}],"display_format":null,"advanced":true},{"key":"stop_bits","type":"integer","label":"Stop Bits","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"}],"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"crystal","type":"integer","label":"Crystal","default_value":"14745600","display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"test_mode","type":"integer","label":"Test Mode","default_value":"0","display_format":null,"advanced":true}],"provides_id_paths":{"uart":[["uart","id"]]}} diff --git a/esphome_device_builder/definitions/components/wk2132_spi.json b/esphome_device_builder/definitions/components/wk2132_spi.json index a5a64174f..84fb4311c 100644 --- a/esphome_device_builder/definitions/components/wk2132_spi.json +++ b/esphome_device_builder/definitions/components/wk2132_spi.json @@ -1 +1 @@ -{"id":"wk2132_spi","name":"Wk2132 SPI","description":"","category":"misc","docs_url":"https://esphome.io/components/weikai","dependencies":["spi"],"multi_conf":true,"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"uart","type":"nested","label":"UART","required":true,"display_format":null,"multi_value":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"baud_rate","type":"integer","label":"Baud Rate","required":true,"display_format":null},{"key":"channel","type":"integer","label":"Channel","default_value":"0","range":[0,3],"display_format":null,"advanced":true},{"key":"data_bits","type":"integer","label":"Data Bits","default_value":"8","options":[{"label":"8","value":"8"}],"display_format":null,"advanced":true},{"key":"parity","type":"string","label":"Parity","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"EVEN","value":"EVEN"},{"label":"ODD","value":"ODD"}],"display_format":null,"advanced":true},{"key":"stop_bits","type":"integer","label":"Stop Bits","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"}],"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"crystal","type":"integer","label":"Crystal","default_value":"14745600","display_format":null,"advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true},{"key":"test_mode","type":"integer","label":"Test Mode","default_value":"0","display_format":null,"advanced":true}]} +{"id":"wk2132_spi","name":"Wk2132 SPI","description":"","category":"misc","docs_url":"https://esphome.io/components/weikai","dependencies":["spi"],"multi_conf":true,"provides":["uart"],"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"uart","type":"nested","label":"UART","required":true,"display_format":null,"multi_value":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"baud_rate","type":"integer","label":"Baud Rate","required":true,"display_format":null},{"key":"channel","type":"integer","label":"Channel","default_value":"0","range":[0,3],"display_format":null,"advanced":true},{"key":"data_bits","type":"integer","label":"Data Bits","default_value":"8","options":[{"label":"8","value":"8"}],"display_format":null,"advanced":true},{"key":"parity","type":"string","label":"Parity","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"EVEN","value":"EVEN"},{"label":"ODD","value":"ODD"}],"display_format":null,"advanced":true},{"key":"stop_bits","type":"integer","label":"Stop Bits","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"}],"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"crystal","type":"integer","label":"Crystal","default_value":"14745600","display_format":null,"advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true},{"key":"test_mode","type":"integer","label":"Test Mode","default_value":"0","display_format":null,"advanced":true}],"provides_id_paths":{"uart":[["uart","id"]]}} diff --git a/esphome_device_builder/definitions/components/wk2168_i2c.json b/esphome_device_builder/definitions/components/wk2168_i2c.json index 53e6c058e..62e7e670a 100644 --- a/esphome_device_builder/definitions/components/wk2168_i2c.json +++ b/esphome_device_builder/definitions/components/wk2168_i2c.json @@ -1 +1 @@ -{"id":"wk2168_i2c","name":"Wk2168 I²C","description":"","category":"misc","docs_url":"https://esphome.io/components/weikai#weikai-address-selection","dependencies":["i2c"],"multi_conf":true,"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"44","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"uart","type":"nested","label":"UART","required":true,"display_format":null,"multi_value":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"baud_rate","type":"integer","label":"Baud Rate","required":true,"display_format":null},{"key":"channel","type":"integer","label":"Channel","default_value":"0","range":[0,3],"display_format":null,"advanced":true},{"key":"data_bits","type":"integer","label":"Data Bits","default_value":"8","options":[{"label":"8","value":"8"}],"display_format":null,"advanced":true},{"key":"parity","type":"string","label":"Parity","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"EVEN","value":"EVEN"},{"label":"ODD","value":"ODD"}],"display_format":null,"advanced":true},{"key":"stop_bits","type":"integer","label":"Stop Bits","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"}],"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"crystal","type":"integer","label":"Crystal","default_value":"14745600","display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"test_mode","type":"integer","label":"Test Mode","default_value":"0","display_format":null,"advanced":true}]} +{"id":"wk2168_i2c","name":"Wk2168 I²C","description":"","category":"misc","docs_url":"https://esphome.io/components/weikai#weikai-address-selection","dependencies":["i2c"],"multi_conf":true,"provides":["uart"],"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"44","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"uart","type":"nested","label":"UART","required":true,"display_format":null,"multi_value":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"baud_rate","type":"integer","label":"Baud Rate","required":true,"display_format":null},{"key":"channel","type":"integer","label":"Channel","default_value":"0","range":[0,3],"display_format":null,"advanced":true},{"key":"data_bits","type":"integer","label":"Data Bits","default_value":"8","options":[{"label":"8","value":"8"}],"display_format":null,"advanced":true},{"key":"parity","type":"string","label":"Parity","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"EVEN","value":"EVEN"},{"label":"ODD","value":"ODD"}],"display_format":null,"advanced":true},{"key":"stop_bits","type":"integer","label":"Stop Bits","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"}],"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"crystal","type":"integer","label":"Crystal","default_value":"14745600","display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"test_mode","type":"integer","label":"Test Mode","default_value":"0","display_format":null,"advanced":true}],"provides_id_paths":{"uart":[["uart","id"]]}} diff --git a/esphome_device_builder/definitions/components/wk2168_spi.json b/esphome_device_builder/definitions/components/wk2168_spi.json index 984fdb8be..e72e95320 100644 --- a/esphome_device_builder/definitions/components/wk2168_spi.json +++ b/esphome_device_builder/definitions/components/wk2168_spi.json @@ -1 +1 @@ -{"id":"wk2168_spi","name":"Wk2168 SPI","description":"","category":"misc","docs_url":"https://esphome.io/components/weikai#connecting-via-an-spi-bus","dependencies":["spi"],"multi_conf":true,"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"uart","type":"nested","label":"UART","required":true,"display_format":null,"multi_value":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"baud_rate","type":"integer","label":"Baud Rate","required":true,"display_format":null},{"key":"channel","type":"integer","label":"Channel","default_value":"0","range":[0,3],"display_format":null,"advanced":true},{"key":"data_bits","type":"integer","label":"Data Bits","default_value":"8","options":[{"label":"8","value":"8"}],"display_format":null,"advanced":true},{"key":"parity","type":"string","label":"Parity","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"EVEN","value":"EVEN"},{"label":"ODD","value":"ODD"}],"display_format":null,"advanced":true},{"key":"stop_bits","type":"integer","label":"Stop Bits","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"}],"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"crystal","type":"integer","label":"Crystal","default_value":"14745600","display_format":null,"advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true},{"key":"test_mode","type":"integer","label":"Test Mode","default_value":"0","display_format":null,"advanced":true}]} +{"id":"wk2168_spi","name":"Wk2168 SPI","description":"","category":"misc","docs_url":"https://esphome.io/components/weikai#connecting-via-an-spi-bus","dependencies":["spi"],"multi_conf":true,"provides":["uart"],"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"uart","type":"nested","label":"UART","required":true,"display_format":null,"multi_value":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"baud_rate","type":"integer","label":"Baud Rate","required":true,"display_format":null},{"key":"channel","type":"integer","label":"Channel","default_value":"0","range":[0,3],"display_format":null,"advanced":true},{"key":"data_bits","type":"integer","label":"Data Bits","default_value":"8","options":[{"label":"8","value":"8"}],"display_format":null,"advanced":true},{"key":"parity","type":"string","label":"Parity","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"EVEN","value":"EVEN"},{"label":"ODD","value":"ODD"}],"display_format":null,"advanced":true},{"key":"stop_bits","type":"integer","label":"Stop Bits","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"}],"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"crystal","type":"integer","label":"Crystal","default_value":"14745600","display_format":null,"advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true},{"key":"test_mode","type":"integer","label":"Test Mode","default_value":"0","display_format":null,"advanced":true}],"provides_id_paths":{"uart":[["uart","id"]]}} diff --git a/esphome_device_builder/definitions/components/wk2204_i2c.json b/esphome_device_builder/definitions/components/wk2204_i2c.json index 9fffb1cf7..681ca4b64 100644 --- a/esphome_device_builder/definitions/components/wk2204_i2c.json +++ b/esphome_device_builder/definitions/components/wk2204_i2c.json @@ -1 +1 @@ -{"id":"wk2204_i2c","name":"Wk2204 I²C","description":"","category":"misc","docs_url":"https://esphome.io/components/weikai","dependencies":["i2c"],"multi_conf":true,"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"44","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"uart","type":"nested","label":"UART","required":true,"display_format":null,"multi_value":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"baud_rate","type":"integer","label":"Baud Rate","required":true,"display_format":null},{"key":"channel","type":"integer","label":"Channel","default_value":"0","range":[0,3],"display_format":null,"advanced":true},{"key":"data_bits","type":"integer","label":"Data Bits","default_value":"8","options":[{"label":"8","value":"8"}],"display_format":null,"advanced":true},{"key":"parity","type":"string","label":"Parity","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"EVEN","value":"EVEN"},{"label":"ODD","value":"ODD"}],"display_format":null,"advanced":true},{"key":"stop_bits","type":"integer","label":"Stop Bits","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"}],"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"crystal","type":"integer","label":"Crystal","default_value":"14745600","display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"test_mode","type":"integer","label":"Test Mode","default_value":"0","display_format":null,"advanced":true}]} +{"id":"wk2204_i2c","name":"Wk2204 I²C","description":"","category":"misc","docs_url":"https://esphome.io/components/weikai","dependencies":["i2c"],"multi_conf":true,"provides":["uart"],"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"44","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"uart","type":"nested","label":"UART","required":true,"display_format":null,"multi_value":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"baud_rate","type":"integer","label":"Baud Rate","required":true,"display_format":null},{"key":"channel","type":"integer","label":"Channel","default_value":"0","range":[0,3],"display_format":null,"advanced":true},{"key":"data_bits","type":"integer","label":"Data Bits","default_value":"8","options":[{"label":"8","value":"8"}],"display_format":null,"advanced":true},{"key":"parity","type":"string","label":"Parity","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"EVEN","value":"EVEN"},{"label":"ODD","value":"ODD"}],"display_format":null,"advanced":true},{"key":"stop_bits","type":"integer","label":"Stop Bits","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"}],"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"crystal","type":"integer","label":"Crystal","default_value":"14745600","display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"test_mode","type":"integer","label":"Test Mode","default_value":"0","display_format":null,"advanced":true}],"provides_id_paths":{"uart":[["uart","id"]]}} diff --git a/esphome_device_builder/definitions/components/wk2204_spi.json b/esphome_device_builder/definitions/components/wk2204_spi.json index 90f8ece60..53889c63c 100644 --- a/esphome_device_builder/definitions/components/wk2204_spi.json +++ b/esphome_device_builder/definitions/components/wk2204_spi.json @@ -1 +1 @@ -{"id":"wk2204_spi","name":"Wk2204 SPI","description":"","category":"misc","docs_url":"https://esphome.io/components/weikai","dependencies":["spi"],"multi_conf":true,"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"uart","type":"nested","label":"UART","required":true,"display_format":null,"multi_value":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"baud_rate","type":"integer","label":"Baud Rate","required":true,"display_format":null},{"key":"channel","type":"integer","label":"Channel","default_value":"0","range":[0,3],"display_format":null,"advanced":true},{"key":"data_bits","type":"integer","label":"Data Bits","default_value":"8","options":[{"label":"8","value":"8"}],"display_format":null,"advanced":true},{"key":"parity","type":"string","label":"Parity","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"EVEN","value":"EVEN"},{"label":"ODD","value":"ODD"}],"display_format":null,"advanced":true},{"key":"stop_bits","type":"integer","label":"Stop Bits","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"}],"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"crystal","type":"integer","label":"Crystal","default_value":"14745600","display_format":null,"advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true},{"key":"test_mode","type":"integer","label":"Test Mode","default_value":"0","display_format":null,"advanced":true}]} +{"id":"wk2204_spi","name":"Wk2204 SPI","description":"","category":"misc","docs_url":"https://esphome.io/components/weikai","dependencies":["spi"],"multi_conf":true,"provides":["uart"],"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"uart","type":"nested","label":"UART","required":true,"display_format":null,"multi_value":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"baud_rate","type":"integer","label":"Baud Rate","required":true,"display_format":null},{"key":"channel","type":"integer","label":"Channel","default_value":"0","range":[0,3],"display_format":null,"advanced":true},{"key":"data_bits","type":"integer","label":"Data Bits","default_value":"8","options":[{"label":"8","value":"8"}],"display_format":null,"advanced":true},{"key":"parity","type":"string","label":"Parity","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"EVEN","value":"EVEN"},{"label":"ODD","value":"ODD"}],"display_format":null,"advanced":true},{"key":"stop_bits","type":"integer","label":"Stop Bits","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"}],"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"crystal","type":"integer","label":"Crystal","default_value":"14745600","display_format":null,"advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true},{"key":"test_mode","type":"integer","label":"Test Mode","default_value":"0","display_format":null,"advanced":true}],"provides_id_paths":{"uart":[["uart","id"]]}} diff --git a/esphome_device_builder/definitions/components/wk2212_i2c.json b/esphome_device_builder/definitions/components/wk2212_i2c.json index 8c5a6a050..7f43d3be2 100644 --- a/esphome_device_builder/definitions/components/wk2212_i2c.json +++ b/esphome_device_builder/definitions/components/wk2212_i2c.json @@ -1 +1 @@ -{"id":"wk2212_i2c","name":"Wk2212 I²C","description":"","category":"misc","docs_url":"https://esphome.io/components/weikai","dependencies":["i2c"],"multi_conf":true,"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"44","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"uart","type":"nested","label":"UART","required":true,"display_format":null,"multi_value":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"baud_rate","type":"integer","label":"Baud Rate","required":true,"display_format":null},{"key":"channel","type":"integer","label":"Channel","default_value":"0","range":[0,3],"display_format":null,"advanced":true},{"key":"data_bits","type":"integer","label":"Data Bits","default_value":"8","options":[{"label":"8","value":"8"}],"display_format":null,"advanced":true},{"key":"parity","type":"string","label":"Parity","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"EVEN","value":"EVEN"},{"label":"ODD","value":"ODD"}],"display_format":null,"advanced":true},{"key":"stop_bits","type":"integer","label":"Stop Bits","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"}],"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"crystal","type":"integer","label":"Crystal","default_value":"14745600","display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"test_mode","type":"integer","label":"Test Mode","default_value":"0","display_format":null,"advanced":true}]} +{"id":"wk2212_i2c","name":"Wk2212 I²C","description":"","category":"misc","docs_url":"https://esphome.io/components/weikai","dependencies":["i2c"],"multi_conf":true,"provides":["uart"],"config_entries":[{"key":"address","type":"integer","label":"Address","default_value":"44","range":[0,255],"display_format":"hex"},{"key":"i2c_id","type":"id","label":"I2C ID","display_format":null,"references_component":"i2c"},{"key":"uart","type":"nested","label":"UART","required":true,"display_format":null,"multi_value":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"baud_rate","type":"integer","label":"Baud Rate","required":true,"display_format":null},{"key":"channel","type":"integer","label":"Channel","default_value":"0","range":[0,3],"display_format":null,"advanced":true},{"key":"data_bits","type":"integer","label":"Data Bits","default_value":"8","options":[{"label":"8","value":"8"}],"display_format":null,"advanced":true},{"key":"parity","type":"string","label":"Parity","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"EVEN","value":"EVEN"},{"label":"ODD","value":"ODD"}],"display_format":null,"advanced":true},{"key":"stop_bits","type":"integer","label":"Stop Bits","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"}],"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"crystal","type":"integer","label":"Crystal","default_value":"14745600","display_format":null,"advanced":true},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"test_mode","type":"integer","label":"Test Mode","default_value":"0","display_format":null,"advanced":true}],"provides_id_paths":{"uart":[["uart","id"]]}} diff --git a/esphome_device_builder/definitions/components/wk2212_spi.json b/esphome_device_builder/definitions/components/wk2212_spi.json index 143dc0ddd..0418089dd 100644 --- a/esphome_device_builder/definitions/components/wk2212_spi.json +++ b/esphome_device_builder/definitions/components/wk2212_spi.json @@ -1 +1 @@ -{"id":"wk2212_spi","name":"Wk2212 SPI","description":"","category":"misc","docs_url":"https://esphome.io/components/weikai","dependencies":["spi"],"multi_conf":true,"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"uart","type":"nested","label":"UART","required":true,"display_format":null,"multi_value":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"baud_rate","type":"integer","label":"Baud Rate","required":true,"display_format":null},{"key":"channel","type":"integer","label":"Channel","default_value":"0","range":[0,3],"display_format":null,"advanced":true},{"key":"data_bits","type":"integer","label":"Data Bits","default_value":"8","options":[{"label":"8","value":"8"}],"display_format":null,"advanced":true},{"key":"parity","type":"string","label":"Parity","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"EVEN","value":"EVEN"},{"label":"ODD","value":"ODD"}],"display_format":null,"advanced":true},{"key":"stop_bits","type":"integer","label":"Stop Bits","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"}],"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"crystal","type":"integer","label":"Crystal","default_value":"14745600","display_format":null,"advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true},{"key":"test_mode","type":"integer","label":"Test Mode","default_value":"0","display_format":null,"advanced":true}]} +{"id":"wk2212_spi","name":"Wk2212 SPI","description":"","category":"misc","docs_url":"https://esphome.io/components/weikai","dependencies":["spi"],"multi_conf":true,"provides":["uart"],"config_entries":[{"key":"spi_id","type":"id","label":"SPI ID","display_format":null,"references_component":"spi","references_class":"spi::SPIComponent"},{"key":"cs_pin","type":"pin","label":"CS Pin","required":true,"display_format":null,"pin_mode":"output","config_entries":[{"key":"mode","type":"nested","label":"Mode","description":"Pin mode flags (input / output / pullup / pulldown / open_drain). Combine flags as needed — e.g. input + pullup for a button pulled to VCC.","display_format":null,"advanced":true,"config_entries":[{"key":"input","type":"boolean","label":"Input","description":"Set the input mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"output","type":"boolean","label":"Output","description":"Set the output mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pullup","type":"boolean","label":"Pullup","description":"Set the pullup mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"pulldown","type":"boolean","label":"Pulldown","description":"Set the pulldown mode flag.","default_value":false,"display_format":null,"advanced":true},{"key":"open_drain","type":"boolean","label":"Open Drain","description":"Set the open drain mode flag.","default_value":false,"display_format":null,"advanced":true}]},{"key":"inverted","type":"boolean","label":"Inverted","description":"Invert the logical level. ``true`` swaps high/low in software so an active-low button reads as active when grounded.","default_value":false,"display_format":null,"advanced":true}]},{"key":"uart","type":"nested","label":"UART","required":true,"display_format":null,"multi_value":true,"config_entries":[{"key":"id","type":"id","label":"ID","required":true},{"key":"baud_rate","type":"integer","label":"Baud Rate","required":true,"display_format":null},{"key":"channel","type":"integer","label":"Channel","default_value":"0","range":[0,3],"display_format":null,"advanced":true},{"key":"data_bits","type":"integer","label":"Data Bits","default_value":"8","options":[{"label":"8","value":"8"}],"display_format":null,"advanced":true},{"key":"parity","type":"string","label":"Parity","default_value":"NONE","options":[{"label":"NONE","value":"NONE"},{"label":"EVEN","value":"EVEN"},{"label":"ODD","value":"ODD"}],"display_format":null,"advanced":true},{"key":"stop_bits","type":"integer","label":"Stop Bits","default_value":"1","options":[{"label":"1","value":"1"},{"label":"2","value":"2"}],"display_format":null,"advanced":true}]},{"key":"id","type":"id","label":"ID","advanced":true},{"key":"crystal","type":"integer","label":"Crystal","default_value":"14745600","display_format":null,"advanced":true},{"key":"data_rate","type":"string","label":"Data Rate","display_format":null,"advanced":true},{"key":"psram_dma","type":"string","label":"PSRAM DMA","display_format":null,"advanced":true},{"key":"release_device","type":"boolean","label":"Release Device","display_format":null,"advanced":true,"supported_platforms":["esp32"]},{"key":"setup_priority","type":"float","label":"Setup Priority","display_format":null,"advanced":true,"hidden":true},{"key":"spi_mode","type":"string","label":"SPI Mode","options":[{"label":"MODE0","value":"MODE0"},{"label":"MODE1","value":"MODE1"},{"label":"MODE2","value":"MODE2"},{"label":"MODE3","value":"MODE3"},{"label":"0","value":"0"},{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"}],"display_format":null,"advanced":true},{"key":"test_mode","type":"integer","label":"Test Mode","default_value":"0","display_format":null,"advanced":true}],"provides_id_paths":{"uart":[["uart","id"]]}} diff --git a/script/sync_components.py b/script/sync_components.py index c35a44cdc..64e0e6eff 100755 --- a/script/sync_components.py +++ b/script/sync_components.py @@ -4842,47 +4842,73 @@ def _implemented_classes(section: dict, schema_dir: Path) -> dict[str, list[list Walks the whole ``CONFIG_SCHEMA`` subtree (nested objects/lists plus ``types`` variants, which are flattened in YAML so add no path segment); a class may appear at several paths and all are kept. Matched against - referenced classes by full class, not namespace. An ``id`` declared - only on an ``extends`` base (``sensor._SENSOR_SCHEMA``) is resolved in, - so multi-entity sub-blocks count. See :func:`_record_id_classes` for + referenced classes by full class, not namespace. A block inherits the + ``id`` and the sub-blocks of its ``extends`` bases, so multi-entity + sub-blocks count wherever they are declared (``sensor._SENSOR_SCHEMA``, + ``bme280_base.CONFIG_SCHEMA_BASE``). See :func:`_record_id_classes` for which classes a path contributes. """ config_schema = _config_schema(section) + entity_classes = _root_entity_classes(schema_dir) out: dict[str, list[list[str]]] = {} - # (config_vars, path) frontier. A typed variant shares its parent's - # path (the ``types`` discriminator is flattened in YAML). - frontier: list[tuple[Any, list[str]]] = [] + frontier: list[_WalkFrame] = [] _push_config_vars(frontier, config_schema, [], schema_dir) while frontier: - config_vars, path = frontier.pop() - if not isinstance(config_vars, dict): + frame = frontier.pop() + if not isinstance(frame.config_vars, dict): continue - for name, field_def in config_vars.items(): + for name, field_def in frame.config_vars.items(): if not isinstance(field_def, dict): continue - field_path = [*path, name] - _record_id_classes(out, field_def, field_path) - _push_config_vars(frontier, field_def, field_path, schema_dir) + field_path = [*frame.path, name] + _record_id_classes(out, field_def, field_path, entity_classes) + ref = frame.inherited.get(name) + seen = frame.seen if ref is None else frame.seen | {ref} + _push_config_vars(frontier, field_def, field_path, schema_dir, seen) return out +class _WalkFrame(NamedTuple): + """One ``config_vars`` mapping queued for the id walk, under *path*.""" + + config_vars: Any + path: list[str] + # ``extends`` refs expanded up the path, so a self-referential base (lvgl + # widgets) is not expanded again; ``inherited`` maps a key drawn from a + # base to the ref it came through. + seen: frozenset[str] + inherited: dict[str, str] + + def _push_config_vars( - frontier: list[tuple[Any, list[str]]], node: dict, path: list[str], schema_dir: Path + frontier: list[_WalkFrame], + node: dict, + path: list[str], + schema_dir: Path, + seen: frozenset[str] = frozenset(), ) -> None: """Queue *node*'s own and per-variant ``config_vars`` for the walk, under *path*.""" config_vars = _schema_config_vars(node) base = config_vars if isinstance(config_vars, dict) else {} schema = node.get("schema") - # Pull ONLY the inherited ``id`` from extends bases (a sub-entity block - # declares its id on ``sensor._SENSOR_SCHEMA``). Merging every inherited - # field would also record the parent classes of sibling id declarations - # (``mqtt_id``, ``zigbee_sensor``) at this path. - if "id" not in base and isinstance(schema, dict) and schema.get("extends"): - inherited_id = _merge_extends_config_vars(schema, schema_dir)[0].get("id") - if isinstance(inherited_id, dict): - config_vars = {**base, "id": inherited_id} - frontier.append((config_vars, path)) - frontier.extend((cv, path) for cv in _variant_config_vars(node)) + inherited: dict[str, str] = {} + # Only the inherited ``id`` and sub-blocks merge. A flat inherited field + # would record a sibling id declaration (``mqtt_id``) at this path. + if isinstance(schema, dict) and schema.get("extends"): + merged, origin = _merge_extends_config_vars(schema, schema_dir, seen) + inherited = { + key: ref for key, ref in origin.items() if key == "id" or _has_sub_schema(merged[key]) + } + config_vars = {**{key: merged[key] for key in inherited}, **base} + frontier.append(_WalkFrame(config_vars, path, seen, inherited)) + frontier.extend(_WalkFrame(cv, path, seen, {}) for cv in _variant_config_vars(node)) + + +def _has_sub_schema(field_def: Any) -> bool: + """Whether *field_def* carries a ``schema`` or ``types`` mapping the walk descends into.""" + return isinstance(field_def, dict) and ( + isinstance(field_def.get("schema"), dict) or isinstance(field_def.get("types"), dict) + ) def _schema_config_vars(node: dict) -> Any: @@ -4899,39 +4925,97 @@ def _variant_config_vars(node: dict) -> list[Any]: return [v.get("config_vars") for v in types.values() if isinstance(v, dict)] -def _record_id_classes(out: dict[str, list[list[str]]], field_def: dict, path: list[str]) -> None: +def _record_id_classes( + out: dict[str, list[list[str]]], + field_def: dict, + path: list[str], + entity_classes: frozenset[str], +) -> None: """ Append *path* to ``out`` for each id-creation class *field_def* declares. Parent (interface) classes count at any depth; the leaf own-class counts at the component root (``len(path) == 1``, not the literal ``"id"`` key, which can be ``output_id`` / ``raw_data_id`` / ...) and, nested, only - for entity (platform-domain) classes — a sub-entity's ``sensor::Sensor``. + when it is one of *entity_classes* — a sub-entity's ``sensor::Sensor``. """ - id_type = field_def.get("id_type") - if not isinstance(id_type, dict) or "use_id_type" in field_def: + id_type = _own_id_type(field_def) + if id_type is None: return - classes = [p for p in id_type.get("parents") or [] if isinstance(p, str)] + classes = _declared_classes(id_type) + own = id_type.get("class") # A nested non-entity own-class id stays unrecorded; advertising it - # would conflate same-namespace classes (a ``pipsolar`` output posing - # as the ``pipsolar`` hub a ``pipsolar_id`` wants). - if isinstance(id_type.get("class"), str) and ( - len(path) == 1 or _reference_namespace(id_type["class"]) in _PLATFORM_DOMAINS - ): - classes.append(id_type["class"]) + # would conflate same-namespace classes (a ``display::DisplayPage`` + # posing as the display a ``display_id`` wants). + if len(path) > 1 and own in classes and own not in entity_classes: + classes.remove(own) for cls in classes: out.setdefault(cls, []).append(path) -def _collect_referenced_classes(schema_dir: Path) -> set[str]: - """Every full ``ns::Class`` named by a ``use_id`` reference in the bundle.""" - referenced: set[str] = set() +def _own_id_type(field_def: Any) -> dict | None: + """Return the ``id_type`` of an id declaration; None for a reference or a plain field.""" + if not isinstance(field_def, dict) or "use_id_type" in field_def: + return None + id_type = field_def.get("id_type") + return id_type if isinstance(id_type, dict) else None + + +def _declared_classes(id_type: dict) -> list[str]: + """Return the ``class`` then ``parents`` of an ``id_type``, strings only.""" + return [ + cls + for cls in [id_type.get("class"), *(id_type.get("parents") or [])] + if isinstance(cls, str) + ] + + +@cache +def _root_entity_classes(schema_dir: Path) -> frozenset[str]: + """Every class some platform of the class's own domain declares at its root.""" + classes: set[str] = set() + for top_key, section in _iter_bundle_sections(schema_dir): + domain, _stem = _split_qualified_key(top_key) + if domain in _PLATFORM_DOMAINS: + classes.update(_root_domain_classes(section, domain, schema_dir)) + return frozenset(classes) + + +def _root_domain_classes(section: dict, domain: str, schema_dir: Path) -> set[str]: + """Return the *domain*-namespaced classes *section* declares at its root.""" + frontier: list[_WalkFrame] = [] + _push_config_vars(frontier, _config_schema(section), [], schema_dir) + return { + cls + for frame in frontier + if isinstance(frame.config_vars, dict) + for field_def in frame.config_vars.values() + if (id_type := _own_id_type(field_def)) is not None + for cls in _declared_classes(id_type) + if _reference_namespace(cls) == domain + } + + +def _iter_bundle_sections(schema_dir: Path) -> Iterable[tuple[str, dict]]: + """Yield every ``(top_key, section)`` mapping in the bundle, skipping unreadable files.""" for path in iter_schema_files(schema_dir): try: raw = json.loads(path.read_text(encoding="utf-8")) except (OSError, ValueError): + _LOGGER.warning("Skipping unreadable schema file %s", path.name) continue - stack: list[Any] = [raw] + if not isinstance(raw, dict): + continue + for top_key, section in raw.items(): + if isinstance(section, dict): + yield top_key, section + + +def _collect_referenced_classes(schema_dir: Path) -> set[str]: + """Every full ``ns::Class`` named by a ``use_id`` reference in the bundle.""" + referenced: set[str] = set() + for _top_key, section in _iter_bundle_sections(schema_dir): + stack: list[Any] = [section] while stack: node = stack.pop() if isinstance(node, dict): diff --git a/tests/test_sync_components_provides.py b/tests/test_sync_components_provides.py index 741a95cb9..611319876 100644 --- a/tests/test_sync_components_provides.py +++ b/tests/test_sync_components_provides.py @@ -12,6 +12,7 @@ _implemented_classes, _reference_namespace, _resolve_provides, + _root_entity_classes, ) _BODIES_DIR = ( @@ -185,81 +186,237 @@ def test_implemented_classes_empty_without_id_type() -> None: ) -def test_implemented_classes_records_nested_entity_leaf() -> None: - """A nested entity-class id (a multi-entity sub-sensor) records its path.""" - section = { - "schemas": { - "CONFIG_SCHEMA": { - "schema": { - "config_vars": { - "id": {"id_type": {"class": "aht10::AHT10Component", "parents": []}}, - "temperature": { - "schema": { - "config_vars": { - "id": { - "id_type": { - "class": "sensor::Sensor", - "parents": ["EntityBase"], - } - } +def _id(cls: str, *parents: str) -> dict: + return {"id_type": {"class": cls, "parents": list(parents)}} + + +def _section(config_vars: dict, extends: list[str] | None = None) -> dict: + schema = {"config_vars": config_vars, **({"extends": extends} if extends else {})} + return {"schemas": {"CONFIG_SCHEMA": {"schema": schema}}} + + +def _write_bundle(schema_dir: Path, files: dict[str, dict]) -> None: + """Write each ``.json`` of a minimal schema bundle.""" + for name, content in files.items(): + (schema_dir / f"{name}.json").write_text(json.dumps(content), encoding="utf-8") + + +# ``sensor._SENSOR_SCHEMA`` with the sibling id and automation every entity +# inherits, and one sensor platform whose root declares ``sensor::Sensor``. +_ENTITY_BUNDLE = { + "sensor": { + "sensor": { + "schemas": { + "_SENSOR_SCHEMA": { + "schema": { + "config_vars": { + "id": _id("sensor::Sensor", "EntityBase"), + "mqtt_id": _id("mqtt::MQTTSensorComponent"), + "on_value": { + "schema": { + "config_vars": {"trigger_id": _id("sensor::SensorStateTrigger")} } - } - }, + }, + } } } } } - } - classes = _implemented_classes(section, Path("/unused")) + }, + "template": { + "template.sensor": _section( + {"id": _id("template_::TemplateSensor", "sensor::Sensor", "Component")}, + ["sensor._SENSOR_SCHEMA"], + ) + }, +} + + +def test_implemented_classes_records_nested_entity_leaf(tmp_path: Path) -> None: + """A nested entity-class id (a multi-entity sub-sensor) records its path.""" + _write_bundle(tmp_path, _ENTITY_BUNDLE) + section = _section( + { + "id": _id("aht10::AHT10Component"), + "temperature": {"schema": {"config_vars": {"id": _id("sensor::Sensor", "EntityBase")}}}, + } + ) + classes = _implemented_classes(section, tmp_path) assert classes["sensor::Sensor"] == [["temperature", "id"]] assert classes["aht10::AHT10Component"] == [["id"]] def test_implemented_classes_resolves_inherited_id_through_extends(tmp_path: Path) -> None: """A sub-block whose ``id`` lives only on its ``extends`` base still counts.""" - (tmp_path / "sensor.json").write_text( - json.dumps( - { - "sensor": { + _write_bundle(tmp_path, _ENTITY_BUNDLE) + section = _section({"temperature": {"schema": {"extends": ["sensor._SENSOR_SCHEMA"]}}}) + classes = _implemented_classes(section, tmp_path) + assert classes["sensor::Sensor"] == [["temperature", "id"]] + # An entity block pulls only its inherited ``id``: no sibling id, no automation. + assert "mqtt::MQTTSensorComponent" not in classes + assert "sensor::SensorStateTrigger" not in classes + + +def test_implemented_classes_inherits_a_hub_roots_sub_blocks(tmp_path: Path) -> None: + """A hub root with a local id still reaches the sub-sensors its ``extends`` base declares.""" + _write_bundle( + tmp_path, + { + **_ENTITY_BUNDLE, + "bme280_base": { + "bme280_base": { "schemas": { - "_SENSOR_SCHEMA": { + "CONFIG_SCHEMA_BASE": { "schema": { "config_vars": { - "id": { - "id_type": { - "class": "sensor::Sensor", - "parents": ["EntityBase"], - } - }, - "mqtt_id": { - "id_type": { - "class": "mqtt::MQTTSensorComponent", - "parents": [], - } + "temperature": { + "schema": {"extends": ["sensor._SENSOR_SCHEMA"]} }, } } } } } + }, + }, + ) + section = _section( + {"id": _id("bme280_i2c::BME280I2CComponent", "i2c::I2CDevice")}, + ["bme280_base.CONFIG_SCHEMA_BASE"], + ) + classes = _implemented_classes(section, tmp_path) + assert classes["sensor::Sensor"] == [["temperature", "id"]] + assert classes["bme280_i2c::BME280I2CComponent"] == [["id"]] + assert "mqtt::MQTTSensorComponent" not in classes + + +def test_implemented_classes_inherits_an_id_less_blocks_sub_blocks(tmp_path: Path) -> None: + """A nested block without an id (an ina3221 channel) inherits its base's sub-sensors.""" + _write_bundle( + tmp_path, + { + **_ENTITY_BUNDLE, + "ina3221": { + "ina3221.sensor": { + "schemas": { + "INA3221_CHANNEL_SCHEMA": { + "schema": { + "config_vars": { + "bus_voltage": { + "schema": {"extends": ["sensor._SENSOR_SCHEMA"]} + } + } + } + }, + } + } + }, + }, + ) + section = _section( + { + "id": _id("ina3221::INA3221Component", "i2c::I2CDevice"), + "channel_1": {"schema": {"extends": ["ina3221.sensor.INA3221_CHANNEL_SCHEMA"]}}, + } + ) + classes = _implemented_classes(section, tmp_path) + assert classes["sensor::Sensor"] == [["channel_1", "bus_voltage", "id"]] + + +def test_implemented_classes_skips_a_nested_class_no_platform_declares(tmp_path: Path) -> None: + """``display::DisplayPage`` shares the display namespace but is no display.""" + _write_bundle( + tmp_path, + { + "ili9xxx": { + "ili9xxx.display": _section({"id": _id("ili9xxx::Display", "display::Display")}) } - ) + }, ) - section = { - "schemas": { - "CONFIG_SCHEMA": { - "schema": { - "config_vars": { - "temperature": {"schema": {"extends": ["sensor._SENSOR_SCHEMA"]}}, + section = _section( + { + "id": _id("st7789::Display", "display::Display"), + "pages": { + "schema": {"config_vars": {"id": _id("display::DisplayPage")}}, + }, + } + ) + classes = _implemented_classes(section, tmp_path) + assert "display::DisplayPage" not in classes + assert classes["display::Display"] == [["id"]] + + +def test_implemented_classes_stops_at_a_self_referential_base(tmp_path: Path) -> None: + """A base whose sub-block extends the base again (lvgl widgets) is expanded once per path.""" + _write_bundle( + tmp_path, + { + "lvgl": { + "lvgl": { + "schemas": { + "WIDGET": { + "schema": { + "config_vars": { + "id": _id("lvgl::Button", "lvgl::LvPseudoButton"), + "widgets": { + "schema": {"extends": ["lvgl.WIDGET"]}, + }, + } + } + } } } } + }, + ) + section = _section( + { + "id": _id("lvgl::LvglComponent"), + "widgets": {"schema": {"extends": ["lvgl.WIDGET"]}}, } - } + ) classes = _implemented_classes(section, tmp_path) - assert classes["sensor::Sensor"] == [["temperature", "id"]] - # Only the inherited ``id`` merges; sibling id declarations stay behind. - assert "mqtt::MQTTSensorComponent" not in classes + assert classes["lvgl::LvPseudoButton"] == [["widgets", "id"]] + + +def test_root_entity_classes_reads_each_platform_domains_roots(tmp_path: Path) -> None: + """A domain's entity classes are those its platforms declare at the root, parents included.""" + _write_bundle( + tmp_path, + { + **_ENTITY_BUNDLE, + "gpio": { + "gpio.switch": { + "schemas": { + "CONFIG_SCHEMA": { + "types": { + "a": {"config_vars": {"id": _id("gpio::Switch", "switch_::Switch")}} + } + } + } + } + }, + "light": { + "light": { + "schemas": { + "LIGHT_SCHEMA": { + "schema": {"config_vars": {"id": _id("light::LightState")}} + } + } + } + }, + "rgb": { + "rgb.light": _section( + {"output_id": _id("rgb::RGBLightOutput")}, ["light.LIGHT_SCHEMA"] + ) + }, + }, + ) + assert _root_entity_classes(tmp_path) == { + "sensor::Sensor", + "switch_::Switch", + "light::LightState", + } # --------------------------------------------------------------------------- @@ -540,3 +697,33 @@ def test_sprinkler_advertises_all_nested_switch_paths() -> None: assert ["auto_advance_switch", "id"] in switch_paths assert ["valves", "valve_switch", "id"] in switch_paths assert len(switch_paths) > 1 + + +def test_split_platform_advertises_inherited_sub_sensor_ids() -> None: + """bme280_i2c's sub-sensors live on bme280_base; they are offered and the hub id is not.""" + body = _load_body("sensor.bme280_i2c") + assert body.get("provides") == ["sensor"] + assert body.get("provides_id_paths") == { + "sensor": [["humidity", "id"], ["pressure", "id"], ["temperature", "id"]] + } + + +def test_inherited_channel_block_advertises_its_sub_sensor_ids() -> None: + """ina3221's channels inherit their sensors one level down; the two-deep paths are offered.""" + paths = _load_body("sensor.ina3221")["provides_id_paths"]["sensor"] + assert ["channel_1", "bus_voltage", "id"] in paths + + +def test_weikai_hub_advertises_inherited_uart_channels() -> None: + """A wk2xxx hub's ``uart`` list comes from the weikai base; each channel is a uart.""" + body = _load_body("wk2168_i2c") + assert body.get("provides") == ["uart"] + assert body.get("provides_id_paths") == {"uart": [["uart", "id"]]} + + +def test_no_shipped_id_path_descends_through_pages() -> None: + """``pages[].id`` is a ``display::DisplayPage``, never offered for any interface.""" + for path in _BODIES_DIR.glob("*.json"): + body = json.loads(path.read_text(encoding="utf-8")) + for id_paths in body.get("provides_id_paths", {}).values(): + assert not any("pages" in id_path for id_path in id_paths), path.name diff --git a/tests/test_sync_components_reference_classes.py b/tests/test_sync_components_reference_classes.py index 6f0bec1c7..21447208a 100644 --- a/tests/test_sync_components_reference_classes.py +++ b/tests/test_sync_components_reference_classes.py @@ -365,6 +365,11 @@ def test_shipped_nested_provider_ids_are_outside_its_id_classes() -> None: assert all(len(path) > 1 for path in dimmer["provides_id_paths"]["sensor"]) +def test_shipped_split_platform_leaves_the_declarer_pool() -> None: + """bme280_i2c's sensor ids are all nested, so its hub id is never judged or rejected.""" + assert "id_classes" not in _body("sensor.bme280_i2c") + + def test_shipped_index_carries_the_declarer_classes() -> None: """The frontend reads them off the slim index, without hydrating a body.""" index = json.loads((_DEFINITIONS / "components.index.json").read_text(encoding="utf-8"))